1
我的Zend形式产生下面的代码:Zend的表单元素输入域后,添加的div
<dt id="register_username-label">
<label for="register_username" class="required">Membername*</label>
</dt>
<dd id="register_username-element">
<input type="text" name="register_username" id="register_username" value="" />
</dd>
,但在某些情况下(在separete装饰处理)我需要一些更多的HTML旁边的添加,输入字段(也在dd标签中)。我有Zend_Form_Element_Text女巫的情况下,我可以添加一些装饰,但我不知道如何完成这件事:(
解决方案应该是这样的:
<dt id="register_username-label">
<label for="register_username" class="required">Membername*</label>
</dt>
<dd id="register_username-element">
<input type="text" name="register_username" id="register_username" value="" />
<div class="validate"><div class="validate-check"></div></div>
</dd>
感谢您的帖子。我不明白。我在我的课上扩展了“Zend_Form_Decorator_Abstract”。在render()函数中,我会得到元素的呈现内容(看起来像我的第一个代码)。如果我现在使用$ element = $ this-> getElement()获取渲染函数中的元素,我可以添加一个新的装饰器。但不会再被使用,因为元素的html已经被渲染了。所以我必须做什么,我得到了我期待的结果?希望你明白我的意思。 – roman
是的,你正在做正确的方式来创建窗体。但正如我在我的回答中所描述的那样,您必须将装饰器添加到您的表单元素中,我认为上述内容可以为您工作。或者请仔细参考链接,以便您可以清楚地将html添加到元素中。 – liyakat