2013-05-15 9 views
1

내 젠드 양식에 다음 코드 생성 입력 필드 후 사업부를 추가 : 나는 또한 (입력 필드에 좀 더 HTML 다음을 추가해야합니다 (A의 separete의 장식으로 처리) 젠드 양식 요소는

<dt id="register_username-label"> 
<label for="register_username" class="required">Membername*</label> 
</dt> 
<dd id="register_username-element"> 
<input type="text" name="register_username" id="register_username" value="" /> 
</dd> 

하지만, 일부의 경우

dd 태그에서). 내가 좀 더 장식을 추가 할 수 Zend_Form_Element_Text 마녀의 인스턴스를 가지고,하지만 난이

솔루션은 다음과 같이한다 :(수행하는 방법을 알고하지 않습니다

<dt id="register_username-label"> 
<label for="register_username" class="required">Membername*</label> 
</dt> 
<dd id="register_username-element"> 
<input type="text" name="register_username" id="register_username" value="" /> 
<div class="validate"><div class="validate-check"></div></div> 
</dd> 

답변

1

당신은에 장식을 추가 할 수 있습니다 단지

$form->addElement(
    'text', 
    'register_username', 
    array(
     'required' => false, 
     'decorators' => array(
      array(
       'HtmlTag', array(
        'tag' => 'div', 
        'class' => 'validate' 
       ) 
      ) 
     ) 
    ) 
); 

그리고 더 내가하고 싶은 다음과 같은 형태로 파일의 형태 요소는 하나의 흥미로운 Link 기본적으로 작동하는 방법을 젠드 양식을 이해하기 위해 당신과 함께 공유 할 수 있습니다.

내가 더 당신을 도울 수 있는지 알려주세요.

+0

감사합니다. 나는 그것을 얻지 않는다. 나는 내 수업 마녀에서 "Zend_Form_Decorator_Abstract"를 확장합니다. render() - Function에서 요소의 렌더링 된 내용을 가져올 것입니다 (첫 번째 코드처럼 보입니다). $ element = $ this-> getElement()를 사용하여 render 함수에서 요소를 얻으면 새로운 데코레이터를 추가 할 수 있습니다. 요소의 html이 이미 렌더링 되었기 때문에 더 이상 사용되지 않습니다. 그래서 내가 뭘해야만하는지, 내가 예상 한 결과를 얻었습니까? 내 말 뜻을 이해하길 바래. – roman

+0

예, 양식을 만드는 올바른 방법을하고 있습니다. 하지만 내 대답은 당신이 양식 요소에 내가 위의 생각을 당신을 위해 일할 것이라고 생각하는 데 데코레이터를 추가해야 설명했다. 또는 신중하게 링크를 참조하십시오 그래서 당신은 내가 원하는대로 요소에 html을 추가하는 명확한 생각을 가지고 있습니다. – liyakat