2011-02-07 120 views
0

我的子類Zend_Form允許重複使用,如我在my other SO question中所述。除了我發現的一個問題,它工作得很好。在我看來,劇本我使用此代碼呈現標籤字段:Zend表單元素標籤「爲」屬性

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

呈現的標籤具有原始元素的id作爲for屬性,而不是新的,後綴,元素ID值。 Zend代碼中是否存在錯誤,我錯過了一個步驟或者做了什麼不正確的事情?

+0

你可以展示你究竟如何以及在哪種方法(!)中實現了新的後綴ID? – singles 2011-02-07 21:33:36

+0

如果您訪問我鏈接的其他問題,您將看到代碼。我添加了一個設置後綴的函數,並且已經重寫了`render()`函數。 – Sonny 2011-02-07 22:22:32

回答

3

我認爲原因是您獨立使用formLabel視圖助手。因此,幫助程序不知道您爲輸入文本字段指定的任何屬性。因此,您應該將這些屬性提供給formLabel。例如,你可以做到以下幾點:

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

上面的代碼應該產生的輸入元素ID匹配for標籤。否則,for標記將被設置爲元素名稱。