2012-03-14 1 views
1

많은 중첩 된 하위 양식이있는 Zend Form이 있습니다. 사용자가 버튼을 누르면 아약스 스크립트를 호출하고 중첩 된 하위 형식 중 하나를 렌더링 한 다음 javascript를 사용하여 올바른 위치에 배치합니다.Zend Form SubForm을 렌더링하지만 렌더링 된 전체 양식처럼 이름을 유지하십시오.

문제는 독자적으로 하위 양식을 렌더링하는 경우 해당 양식을 자체 양식으로 취급하므로 요소 명명에 상위 양식이 무시된다는 것입니다.

이 예를 들어 내 요소의 이름은

'질문 [0] [답변] [3] [텍스트]'

을하지만, 내가 대답을 렌더링 자체에 하위 때

된다 ' http://zend-framework-community.634137.n4.nabble.com/Rendering-a-sub-form-element-in-a-view-script-td643270.html

Howev : 3 [텍스트] '

나는 인터넷 검색 및 검색 좀하고 내가 찾은 유일한 것은 이것이다 나는 PrepareElements에 행운이 없다.

답변

3

Zend는 양식이 렌더링 될 때 이름 접두어를 설정하고 나중에 재사용 할 수 있습니다. 그래서 해결 방법은 :

$form = new Zend_Form(); 
    $form->addSubForm(new Zend_Form_SubForm(), 'mysubform'); 
    // ... add elements and other subforms 

    // workaround part 
    $form->render(); 

    echo $form->mysubform; 

해결 부분은 별도로 렌더링 그들이 이름 접두어를 할 때 그래서 나중에 하위 폼 및 요소 belongsTo를을 설정합니다.