【问题标题】:Zend: Custom Decorators For Label TagZend:标签标签的自定义装饰器
【发布时间】:2013-01-29 05:36:42
【问题描述】:

我目前有以下代码来生成表单元素(文本框):

$this->addElement('text', 'username', array(
        'label' => 'Username',
        //'multiOptions' => $this->getOptions(),
        'filters' => array(
            'StringTrim',
        ),
        'validators' => array(
            array('StringLength', 
                false, 
                array(0, 50)),
        ),
        'decorators' => array(
            array('ViewHelper'), 
            array('Label', array(
                'tag' => 'label',
                'placement' => 'prepend',
                )
            ),
            array('HtmlTag', array(
                'tag' => 'input',
                )
            ),
        ),
    ));

这会在 HTML 中输出以下内容:

<dt id="username-label"><label for="username" class="optional">Username</label></dt>
<dd id="username-element">
<input type="text" name="username" id="username" value="" class="input"></dd>

但是,我希望它会输出以下内容:

<dt id="username-label"><label for="username" class="**label**">Username</label></dt>
<dd id="username-element">
<input type="text" name="username" id="username" value="" class="input"></dd>

为什么即使我在装饰器定义中告诉它使用标签类,标签也不采用标签类?我在这里做错了吗?

谢谢!

【问题讨论】:

  • 装饰器中设置的标签类在哪里?你只通过了tagplacement 选项

标签: php html zend-framework zend-form


【解决方案1】:

渲染元素标签的代码

$this->form->name->renderLabel() ;

【讨论】:

    猜你喜欢
    • 2013-03-30
    • 1970-01-01
    • 2017-04-20
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 2012-07-13
    相关资源
    最近更新 更多