gpt4 book ai didi

zend-framework - Zend Form - 在标签的 dt 上设置类

转载 作者:行者123 更新时间:2023-12-04 06:47:20 26 4
gpt4 key购买 nike

更新我能够通过创建一个自定义的标签装饰器来让它工作,它扩展了 Zend/Form/Decorator/Label.php。我向它添加了一个 setTagClass() 方法并覆盖了 render 方法以创建具有所需类的封闭标记。可能有更优雅的方法来做到这一点,但这似乎有效。

我正在寻找有关如何使用装饰器在标签的 dt 元素上设置类的信息。下面的第三行代码在标签上设置类并将标签包装在 dt 标签中。我想知道如何在 dt 标签上设置类。

$txtLangPrefOther = $this->createElement('text','langPrefOther');
$txtLangPrefOther->setLabel('Language Preference Other:'));
$txtLangPrefOther->getDecorator('Label')->setOptions(array('tag' => 'dt', 'class' => 'other'));

这会产生输出,例如
<dt id="langPrefOther-label">
<label for="langPrefOther" class="other">Language Preference Other:</label>
</dt>

<dd id="langPrefOther-element">
<input type="text" id="langPrefOther" name="langPrefOther" ">
</dd>

我希望它看起来像
<dt id="langPrefOther-label" class="other">
<label for="langPrefOther">Language Preference Other:</label>
</dt>

<dd id="langPrefOther-element">
<input type="text" id="langPrefOther" name="langPrefOther" ">
</dd>

最佳答案

Label 有一个属性装饰者叫 tagClass !

试试这个:

$element->addDecorators(array( 
'ViewHelper',
'Description',
'Errors',
array('HtmlTag', array('tag' => 'dd', 'class' => $class )),
array('Label', array('tag' => 'dt', 'class' => $class, 'tagClass' => $class))
));

关于zend-framework - Zend Form - 在标签的 dt 上设置类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2383196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com