2011-07-02 7 views
3

저는 Zend_Form을 사용하여 양식을 출력하고 있는데, 버튼 구성 요소를 그룹화하고 필드 세트에 추가하려고합니다.Zend_Form을 사용하여 하나의 디스플레이 그룹에 여러 요소 그룹을 추가하십시오.

내가 관리가 최선이다 : 두 요소 그룹은 두 개의 별도의 표시 그룹 내에있는

<fieldset id="fieldset-group1"> 
    <div class="buttons"> 
     <button name="submit_form" id="submit_form" type="submit">Submit</button> 
     <button name="cancel_form" id="cancel_form" type="submit">Cancel</button> 
    </div> 
</fieldset> 
<fieldset id="fieldset-group2"> 
    <div class="buttons"> 
     <button name="reset_form" id="reset_form" type="submit">Reset</button> 
     <button name="button_form" id="button_form" type="button">Button</button> 
    </div> 
</fieldset> 

. DisplayGroup HtmlTag Decorator '태그'옵션을 'div'로 설정하여이 작업을 수행했습니다. 두 사업부의의는 하나 개의 디스플레이 그룹 내에있는

<fieldset id="fieldset-group1"> 
    <div class="buttons"> 
     <button name="submit_form" id="submit_form" type="submit">Submit</button> 
     <button name="cancel_form" id="cancel_form" type="submit">Cancel</button> 
    </div> 

    <div class="buttons"> 
     <button name="reset_form" id="reset_form" type="submit">Reset</button> 
     <button name="button_form" id="button_form" type="button">Button</button> 
    </div> 
</fieldset> 

:

는 내가 달성하기 위해 찾고 있어요 것은 이것이다.

HtmlTag Decorator에서 사용할 수있는 'openOnly'및 'closeOnly'옵션을 사용할 수 있기를 기대했지만 DisplayGroups에서는 사용할 수 없습니다.

내가 원하는 것을하기 위해 Zend_View_Helper_Fieldset를 확장하는 것 외에도이 작업을 수행하는 더 좋은 방법이 있습니까?

답변

0

그들은 항상 자신의 데코레이터를 쓸 수 있다고 말합니다. view_helper를 확장하지 않고 자신의 데코레이터를 작성해야합니다. 여기에있는 데코레이터는 필드 세트 afaik가 아니라 FormElements 내부에 있고 필드 세트에서 사용됩니다. 찾고있는 div를 처리 할 수있는 디자인이 아닌 FormElements 데코레이터입니다.

5
'decorators'=>array('FormElements', 
        array(array('divtag'=>'HtmlTag'),'options'=>array('tag'=>'div')), 
        array(array('fstag'=>'HtmlTag'),'options'=>array('tag'=>'fieldset','openOnly'=>true)), 
        ) 

는 openOnly/closeOnly 실제로 내가 묻는 질문에 대답 않습니다, 너무 DisplayGroups와

+0

안녕을 사용할 수 있습니다! 그러나 필드 세트 데코레이터를 htmlTag 데코레이터로 변경하면 fieldset 뷰 도우미를 사용하지 않으므로 필드 세트에 범례를 추가 할 수 없게됩니다. – steve

+0

예 ... 한 가지 해결책은 설명을'array ('Description', 'options'=> array ('tag'=> 'legend'))'처럼 행동하는 것입니다. – aditirex

+0

또한 이러한 그룹을 하위 폼으로 지정하고 하위 폼에 fieldset을 적용하려고 할 수 있습니다. – aditirex

관련 문제