【问题标题】:Zend Framework - wrap dt dd in dlZend 框架 - 在 dl 中包装 dt dd
【发布时间】:2011-10-01 11:59:42
【问题描述】:

Change HTML output of Zend_Form 中的另一个问题,有人知道我如何生成以下 html 输出吗? (用 dl 包装每个 dtdd 集)

<form>
<fieldset>
   <dl>
      <dt>label etc</dt>
      <dd>input etc</dd>
   </dl>
   <dl>
      <dt>label etc</dt>
      <dd>input etc</dd>
   </dl>
</fieldset>
... etc
</form>

【问题讨论】:

  • 如果您更改标记,请以具有某种意义的方式进行更改:( 为单个条目开始列表是不好的
  • 真的没人知道怎么做吗?
  • @ChipZend 我有一个答案给你^^

标签: php zend-framework


【解决方案1】:

你在这里:

class Default_Form_Chip extends Zend_Form
{

    protected $_element_decorators = array(
        'ViewHelper',
        array(array('data' => 'HtmlTag'), array('tag' => 'dd', 'class' => 'form_element')),
        array('Label', array('tag' => 'dt', 'class' => 'required', 'tagClass' => 'form_label')),
        array('HtmlTag', array('tag' => 'dl', 'class' => 'form_wrapper')),
    );

    //put your code here
    public function init()
    {
        $this->setElementDecorators($this->_element_decorators);
        $this->setDecorators(array(
            'FormElements',
            array('HtmlTag', array('tag' => 'fieldset')),
            'Form',
        ));
        $this->addElement('text', 'username',array(
            'label'=>'Username'
        ));
        $this->addElement('text', 'password',array(
            'label'=>'Password'
        ));
    }

}

输出html:

<form enctype="application/x-www-form-urlencoded" action="" method="post">
    <fieldset>
        <dl class="form_wrapper">
            <dt id="username-label">Username</dt>
            <dd class="form_element">
                <input type="text" name="username" id="username" value="">
            </dd>
        </dl>
        <dl class="form_wrapper">
            <dt id="password-label">Password</dt>
            <dd class="form_element">
                <input type="text" name="password" id="password" value="">
            </dd>
        </dl>
    </fieldset>
</form>

【讨论】:

  • 这正是我所需要的。非常感谢,尤里卡!
  • :aces: :) 是的,'data' =&gt; ' 注意:关键“数据”可以是任何东西。例如array(array('elements' =&gt; 'HtmlTag'), ... 然后是下一个array(array('wrap' =&gt; 'HtmlTag'), array('tag' =&gt; 'dl', 'class' =&gt; 'form_wrapper')), ...
猜你喜欢
  • 2011-11-27
  • 1970-01-01
  • 2011-12-29
  • 2018-11-26
  • 2016-05-31
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多