2011-07-17 1 views
1

У меня есть следующий код в моем классе 'Default_Form_Registration' (внутри _init метода):Zend Framework/Форма/DisplayGroup/SetLegend проблема

$fullname = $this->addDisplayGroup(
         array('firstname', 'lastname'), 
         'fullname'); 
$fullname->setLegend('Full Name'); 

Моя форма в настоящее время отображаются правильно (элементы внутри FIELDSET), однако на дисплее нет легенды. Я вообще не изменил декораторов, используя декораторы по умолчанию.

Что я делаю неправильно?

ответ

3

Вы можете передать параметры addDisplayGroup через 3 пары:

$fullname = $this->addDisplayGroup(
        array('firstname', 'lastname'), 
        'fullname', array('legend' => 'Full Name')); 

Кроме того, в качестве примечания, addDisplayGroup возвращает Zend_Form, а не дисплей группы.

Если вы хотите использовать метод setLegend, вам нужно сделать так:

$this->getDisplayGroup('fullname')->setLegend('Full Name'); 
+0

Мех, я думал, что я попробовал, что, по-видимому, не так, что работал (массив третьего параметра («легенда» => «Полное имя») исправил проблему. Спасибо +1 –