ZendFramework - 如何用我的HtmlTag装饰器的标签来包装我的标签

问题描述:

我需要在表格中放置一些表单元素。 我遇到了问题,即我改变添加装饰器的顺序,我的HtmlTag装饰器只包装我的inputfield而不包含标签。 该标签非常出色。有什么建议么?ZendFramework - 如何用我的HtmlTag装饰器的标签来包装我的标签

    $questionElement->addDecorators(array(
        array('HtmlTag', array('tag'=>'tr')), 
        array('Label',  array('tag'=>'td')), 
       )); 
+0

了现在通过将“放置”=>“前置”添加到标签来解决此问题。因为我的代码在循环中,我认为前一个元素的标签是我所抱怨的那个。 –

+2

请在答案中发布完整的源代码并将其标记为正确。它会帮助阅读这个问题的其他人。谢谢。 – emaillenin

+0

完整的源码不是必需的,但我发现循环不是错误。这里的问题是我必须别名装饰器。默认名称似乎是以默认顺序添加的,至少在我的设置中,所以我没有选择重新排序它们。 –

我刚刚就这一天写了一个blog post。 为了造型的目的,我需要在一个元素的开始处放置一个开口,并在另一个元素的末尾放置一个结束标记。 Zend框架指南在详细说明这方面做得并不出色。

在您要添加的开幕div标签,你会做以下元素:

$open_element->addDecorator(array(
    array('openDiv' =>'HtmlTag'), 
    array('tag' => 'div', 'openOnly' => true) 
)); 

在第二个元素,你要添加的结束标记:

$close_element->addDecorator(array(
    array('closeDiv' =>'HtmlTag'), 
    array('tag' => 'div', 'closeOnly' => true) 
)); 
+0

这是正确的。 –