Набор Zend_form Необходимое описание

У меня есть форма с Zend_From, и моя форма по умолчанию обернута тегами DL, DT и DD, и это нормально!

Я должен добавить * ‹-- этот знак в обязательные поля. Сначала я решил добавить явно этот знак к каждому элементу формы, но тогда я не мог включать в него HTML-теги, чтобы, например, получить <label>My Form Label:<span> *</span></label>, чтобы я мог сделать * ‹-- этот знак цвета красного цвета.

Теперь я нашел другое решение:

$elementDecorators = array(
            'ViewHelper',
            array('Label', array('tag' => 'span', 'escape' => false, 'requiredSuffix' => '<span class="required">* </span>'))
        );

и для каждой формы:

$myElement->setDecorators($elementDecorators);  

а затем я попробовал другой подход:

$myElement->getDecorator('label')
          ->setOptions(array('requiredSuffix'=> ' <span class="required">*</span> ', 'escape'=> false));

Проблема в том, что после того, как я применяю этот код к своему элементу формы, он теряет оболочки DL, DT, DD. а потом выглядит ужасно.

Можете ли вы сказать мне, как добавить Decorator к ярлыку, не разрушая DL?


person mrGott    schedule 29.03.2013    source источник


Ответы (1)


Я считаю, что это очень просто сделать с помощью CSS.

dt label.required:before {
    content: "* ";
    color: #ff0000;
}
person RockyFord    schedule 30.03.2013