Чтобы обернуть вашу контактную форму вокруг div
, которая находится внутри <li class ="af_title">
, вы можете сделать следующее:
$yourForm = new YourForm();
$yourForm->addDecorator(array('div' => 'HtmlTag'), array('tag' => 'div'));
$yourForm->addDecorator(array('li' => 'HtmlTag'), array('tag' => 'li', 'class' => 'af_title'));
РЕДАКТИРОВАТЬ:
Я вижу, что вы говорите об элементе формы Div,Такого элемента не существует, но вы можете легко его создать.Для этого вам понадобятся две вещи: новый элемент формы (то есть элемент div) и помощник вида формы, который позаботится о создании HTML.Я позволил себе подготовить простые примеры этих двух элементов, чтобы показать, что я имею в виду:
Div.php в APPLICATION_PATH./ forms / Элемент :
class My_Form_Element_Div extends Zend_Form_Element {
/**
* Default form view helper to use for rendering
* @var string
*/
public $helper = 'formDiv';
public function __construct($spec, $options = null) {
parent::__construct($spec, $options);
$this->removeDecorator('label');
$this->removeDecorator('htmlTag');
}
}
FormDiv.php в APPLICATION_PATH./ views / helpers :
class My_View_Helper_FormDiv extends Zend_View_Helper_FormElement {
public function formDiv($name, $value = null, $attribs = null) {
$class = '';
if (isset($attribs['class'])) {
$class = 'class = "'. $attribs['class'] .'"';
}
return "<li $class><div>$value</div></li>";
}
}
Имея это, вы можете просто добавить элемент div в любой элемент формы в их методе init () следующим образом:
$div = new My_Form_Element_Div('mydiv');
$div->setValue('Contact form')->setAttrib('class', 'af_title');
$this->addElement($div);