0

正如我在其他 SO 问题中所描述的那样,我将子类Zend_Form化以允许重用。它工作得很好,除了我发现的一个问题。在我的视图脚本中,我使用此代码来呈现字段的标签:

echo $this->formLabel($this->element->getFullyQualifiedName(),
        $this->element->getLabel());

呈现的标签将原始元素 id 作为for属性中的值,而不是新的、后缀的元素 id。Zend 代码中是否存在错误,我是否遗漏了一个步骤或做错了什么?

4

1 回答 1

3

我认为原因是您formLabel独立使用视图助手。因此,帮助程序不知道您为输入文本字段指定的任何属性。因此,您应该将这些属性提供给formLabel. 例如,您可以执行以下操作:

echo $this->formLabel(
        $this->element->getFullyQualifiedName(),
        $this->element->getLabel(),
        $this->element->getAttribs() 
);

上面的代码应该生成for与您的输入元素 id 匹配的标签。否则,for标签将设置为元素名称。

于 2011-02-08T05:19:32.983 回答