zend-framework – 如何摆脱Zend_Form dl,dt,dd标签?
发布时间:2020-12-13 22:12:15 所属栏目:PHP教程 来源:网络整理
导读:我想摆脱Zend_Form的定义列表格式.这是我要去的布局: form p label for="email" class="required"Your email address:/label input type="text" name="email" id="email" value="" /p p input type="submit" name="submit" id="submit" value="Subscribe" /
我想摆脱Zend_Form的定义列表格式.这是我要去的布局:
<form> <p> <label for="email" class="required">Your email address:</label> <input type="text" name="email" id="email" value=""> </p> <p> <input type="submit" name="submit" id="submit" value="Subscribe"> </p> <input type="hidden" name="active" value="true" id="active"> <input type="hidden" name="signupDate" value="" id="signupDate"> </form> 为了获得这种布局,我需要对表单做些什么? class Default_Form_Subscribe extends Zend_Form { public function init() { $this->setMethod('post'); $this->addElement('text','email',array( 'label' => 'Email address:','required' => true,'filters' => array('StringTrim'),'validators' => array('EmailAddress') )); $this->addElement('submit','submit',array( 'label' => 'Subscribe','ignore' => true )); $this->addElement('hidden','active',array( 'value'=>'true' )); $this->addElement('hidden','signupDate',array( 'value' => Zend_Date::now()->toString('YYYY-MM-dd') )); } } 解决方法
啊,打败我…我采用创建可应用于特定元素的自定义定义的方法.还必须重置表单上的装饰器以删除默认的’dl’包装器,似乎完全符合您的需要:
class Default_Form_Subscribe extends Zend_Form { public function init() { $this->setMethod('post'); // reset form decorators to remove the 'dl' wrapper $this->setDecorators(array('FormElements','Form')); // custom decorator definition for form elements $customElementDecorators = array( 'ViewHelper','Errors',array( 'Description',array('tag' => 'p','class' => 'description') ),array( 'Label',array('separator' => ' ') ),array( array('data' => 'HtmlTag'),array('tag' => 'p') ) ); $this->addElement('text','validators' => array('EmailAddress'),'decorators' => $customElementDecorators )); $this->addElement('submit','ignore' => true,'decorators' => $customElementDecorators )); $this->addElement('hidden',array( 'value'=>'true','decorators' => array('ViewHelper') )); $this->addElement('hidden',array( 'value' => Zend_Date::now()->toString('YYYY-MM-dd'),'decorators' => array('ViewHelper') )); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |