如何在表格布局中自定义Zend_Form中的错误输出

时间:2010-02-03 15:19:53

标签: html css zend-framework zend-form

我需要输出以下表单布局:

<tr><td>Label</td><td>Element</td></tr>
<tr><td></td><td>ElementErrors</td></tr>

元素和标签需要垂直居中,错误应与元素具有相同的缩进。

我可以使用装饰器来实现这一点,或者我可能需要更改标记吗?

1 个答案:

答案 0 :(得分:0)

你会使用装饰器。有关自定义装饰器的最简单示例,请查看Matthew's tutorial here,特别是My_Decorator_SimpleInput装饰器。

所以你可以按照

的方式做点什么
class My_Decorator_SimpleInput extends Zend_Form_Decorator_Abstract
{
    protected $_format = '<tr><td><label for="%s">%s</label></td><td><input id="%s" name="%s" type="text" value="%s"/></td></tr>';

    public function render($content)
    {
        $element = $this->getElement();
        $name    = htmlentities($element->getFullyQualifiedName());
        $label   = htmlentities($element->getLabel());
        $id      = htmlentities($element->getId());
        $value   = htmlentities($element->getValue());

        $markup  = sprintf($this->_format, $id, $label, $id, $name, $value);
        return $markup;
    }
}
相关问题