在我的形式,我需要這樣的:如何呈現Zend形式的一些HTML?
<li class ="af_title"><div>Contact form</div></li>
我明白,如果我需要,例如文本字段 - 然後我剛剛創建Zend_Form_Element_Text,敷HtmlTag裝飾圍繞它 - 對嗎?
問題:
1)我怎麼會產生DIV表單元素,所以我可以環繞它的裝飾?
2)MMM。 - 如何將所述元素的內容設置爲「聯繫表單」?
謝謝:)
在我的形式,我需要這樣的:如何呈現Zend形式的一些HTML?
<li class ="af_title"><div>Contact form</div></li>
我明白,如果我需要,例如文本字段 - 然後我剛剛創建Zend_Form_Element_Text,敷HtmlTag裝飾圍繞它 - 對嗎?
問題:
1)我怎麼會產生DIV表單元素,所以我可以環繞它的裝飾?
2)MMM。 - 如何將所述元素的內容設置爲「聯繫表單」?
謝謝:)
環繞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的護理表單視圖助手。我允許自己準備這兩個元素的簡單例子,以顯示我的意思:
APPLICATION_PATH中的Div.php。 /形式/元素:
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。 /視圖/傭工:
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);
哪裏「聯繫表」字符串從哪裏來? – Phil 2011-02-26 02:21:35
它只是一個硬編碼標籤。 :)表單的名稱。 – Stann 2011-02-26 02:29:20
我想我的問題是如何注入一些隨機的html到我的表單? – Stann 2011-02-26 02:50:37