Это очень хорошее решение, когда вам не нужно заполнять значение элемента при отправке формы.
Это эквивалентное решение - использовать метод Form Element setAttrib()
и отключить элемент формы
$formElement->setAttrib('disable','disable')
, который только замораживает элемент.
Но если вам нужно заполнить поле, используя предыдущие решения, вам, вероятно, потребуется добавить дополнительное скрытое поле, которое будет передавать значение. Разработка пользовательского элемента формы будет хорошим стилем, но это не приветствуется каждым разработчиком, поэтому вы можете использовать какой-то хитрый способ установить элемент формы только как текст, но заполнить его значение. Таким образом, когда вы создаете элемент как скрытое поле, задаете его значение и используете метод Form Element setDescription()
, чтобы установить и отобразить текстовое значение элемента.
$formElement = new Zend_Form_Element_Hidden( 'elName',
array( 'label' => 'elLabel', 'value' => 'elValue' ) );
$formElement->setDescription( 'elValue' );
Затем вы можете отобразить этот скрытый элемент и отобразить значение с помощью
$formElement->getDescription()
.