我在表单中对齐我的图例时遇到问题,并且阅读装饰器文档并没有让我更清楚如何用正常替换标记。
有谁知道如何做到这一点?
感谢。
答案 0 :(得分:2)
我很抱歉,我还在考虑标签,而不是传奇。要替换图例标记(在您使用子表单或手动将fieldset
装饰器添加到表单时生成并使用另一个标记调用$form->setLegend('some')
),您可以选择两个选项。
编写自己的fieldset
视图帮助程序(Zend_View_Helper_Fieldset
),并将其放入应用程序帮助程序目录中。它将强制ZF接受你的帮助,而不是这个位于库文件夹中。在那个原始助手中你有:
// get legend
$legend = '';
if (isset($attribs['legend'])) {
$legendString = trim($attribs['legend']);
if (!empty($legendString)) {
$legend = '<legend>'
. (($escape) ? $this->view->escape($legendString) : $legendString)
. '</legend>' . PHP_EOL;
}
unset($attribs['legend']);
}
你可以在帮助器中用div替换legend标签,它会起作用。
实现这一目标的第二种方法是将HtmlTag装饰器添加到Zend_Form元素实例中。看看这里,它是如何在ZF中使用装饰器的好教程:http://devzone.zend.com/1240/decorators-with-zend_form/
很抱歉在开头误导你:(