0

我完全不知道如何在 Zend 中使用装饰器!

如果您创建一个没有装饰器的基本简单表单,则标签进入 DT,元素进入 DD。他们都一个接一个地去。

那么如何让每个标签及其对应的元素也进入一个 div 呢?

非常感谢!口沙

4

1 回答 1

0

我喜欢装饰师!但是它们非常难以掌握。你的问题很简单,这是一件好事。

我在表单中使用了这个函数

public function getElementDecorators()
{
    return array(
        'ViewHelper',
        'Errors',
        array('Description', array('tag' => 'p', 'class' => 'description')),
        array('HtmlTag', array('tag' => 'dd', 'id'  => array('callback' => array(get_class($this), 'resolveElementId')))),
        array('Label', array('tag' => 'dt')),
        array(array('elementContainer' => 'HtmlTag'), array('tag' => 'div', 'class' => 'element-container')),
    );
}

然后对于表单中的每个元素,我都会像这样创建它们。

$this->addElement('Text', 'wordup', array(
    'label' => 'Put your words here',
    'attribs' => array('class' => 'textbox-fancy'),
    'decorators' => $this->getElementDecorators()
));
于 2013-02-08T03:10:55.610 回答