Удалить описание элемента в контроллере (Zend_Form)

Я хотел бы отредактировать описание элемента в контроллере действий. Я пытаюсь сделать это так:

$form->element->setAttrib('description', '');

Но это не работает. Любые идеи?


person Richard Knop    schedule 06.01.2010    source источник


Ответы (2)


Вы должны определить свои собственные декораторы элементов формы, опуская декоратор описания. Подробнее см. в этом руководстве.

person Ivan Krechetov    schedule 06.01.2010
comment
Спасибо. Я знаю о декораторах. Мне нужно было, чтобы декораторы включали атрибут описания, но удаляли описание в контроллере на основе данных из объекта запроса. Я уже понял, как это сделать (я использовал $form-›element-›removeDecorator('description'); в контроллере действий). - person Richard Knop; 06.01.2010

Чтобы фактически удалить данные описания, а не декоратор описания, вы можете использовать:

$form->getElement('elementName')->setDescription('');
person berty    schedule 10.01.2010
comment
Ну, это то, что я сделал (см. мой ОП - это просто альтернатива с использованием магии __get()), и это не сработало. Мне пришлось удалить декоратор, чтобы избавиться от описания. - person Richard Knop; 12.01.2010
comment
Ой. Боюсь, у меня нет хорошего ответа на этот вопрос, кроме того, что он работает для меня (ZF 1.9). - person berty; 12.01.2010