3

У меня возникли трудности с настройкой Zend_Form. У меня есть подкласс класса Zend_Form. Форма содержит некоторую требуемую информацию и некоторую дополнительную информацию. Я хочу, чтобы дополнительная информация была доступна через массив. Представленные данные будут выглядеть примерно так:Как настроить Zend_Form для использования нотации массива?

$formData['required1'] 
$formData['required2'] 
$formData['addiotnalData']['aData1'] 
$formData['addiotnalData']['aData2'] 

Я Googled это и попробовал все предложения я нашел (с помощью Подчиненные и установки Zend_Form::setIsArray($flag) и Zend_Form::setElementsBelongTo($array) методы), но не понял, как это сделать это.

Что я делаю неправильно? Как установить имена элементов формы, чтобы я мог получить доступ к данным с помощью нотации массива?

ответ

2

Отсортировано! Проблема заключается в обычном декораторе, который использовался.

//In 
$subForm = new Form_SubForm(); //this can be a Zend_Form or Zend_Form_SubForm  
$subForm->setIsArray(true); 
$this->addSubForm($subForm, 'subform'); 

Элементы будут оказаны с идентификатором subform-elementname и именем subform[elementname].

+0

Привет, У меня такая же проблема и внесены изменения, которые вы сказали. Но это не работает по моим исключениям. как насчет индивидуальных декораторов ??? –

0

Чтобы расширить ответ, потому что $ form-> setIsArray (TRUE) не работал с моим пользовательским декоратором для элементов. Для визуализации Zend_Form_Element был нужен собственный декоратор ViewScript.

Проблема, это было отображение имени элемента с помощью $ this-> element-> getName(). Мне пришлось использовать $ this-> element-> getFullyQualifiedName() в скрипте декоратора ViewScript.

Смежные вопросы