2011-02-07 1 views
0

my other SO question에 설명 된대로 재사용을 허용하려면 Zend_Form 서브 클래스입니다. 내가 발견 한 한 가지 문제를 제외하고는 아주 잘 작동하고 있습니다. 내보기 스크립트에서 나는 필드의 레이블을 렌더링하는 데이 코드를 사용 :젠드 양식 요소 레이블 "for"속성

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

렌더링 된 레이블은 for 속성보다는 새로운, 접미사, 요소 ID의 값으로 원래의 요소 ID가 있습니다. Zend 코드에 버그가 있습니까? 단계가 누락되었거나 잘못 처리 되었습니까?

+0

새로운 접미사 ID를 얼마나 정확하게 구현했는지 (!) 표시 할 수 있습니까? – singles

+0

내가 링크 된 다른 질문을 방문하면 코드가 표시됩니다. 나는 접미사를 설정하는 함수를 추가하고'render()'함수를 오버라이드했다. – Sonny

답변

3

이유는 당신이 formLabel 뷰 도우미를 독립적으로 사용하고 있다고 생각합니다. 따라서 도우미는 입력 텍스트 필드에 지정한 특성을 인식하지 못합니다. 따라서 이러한 속성을 formLabel에 제공해야합니다. 위의 코드가 입력 요소 ID와 일치 for 태그를 생산한다

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

: 예를 들어, 당신은 다음을 수행 할 수있다. 그렇지 않으면 for 태그가 요소 이름으로 설정됩니다.

+0

'formLabel' 뷰 도우미에 대한 세 번째 인수가 있다는 것을 알지 못했습니다. 나는 그것을 시도 할 것이다. 감사! – Sonny

+0

완벽하게 작동합니다. 다시 한 번 감사드립니다! – Sonny

+0

@ Sonny. 행복하게 도와 드릴 수 있습니다. – Marcin