2011-08-05 5 views
1

3 계층 양식 구조가 있습니다.중첩 된 zend 하위 양식의 요소에 값 지정

하위 양식이있는 frmMain (컨테이너 형식과 유사 함)이 있습니다 (예 : frmSubFacts). frmSubFacts과 같은 하위 양식에는 하위 양식이 있습니다. 예 : frmTabSubCountry. 가장 안쪽의 하위 폼은 텍스트 필드와 같은 양식 요소를 포함합니다. 이들은 양식 레벨에서 setBelongsTo 메소드를 사용하여 그룹화됩니다.

코드는 frmSubFacts 다른 외부 하위 형태는 상단의 탭 내에 있으며, 사용자의 선택에 기초하여 이러한 2- 탭 라인에 걸쳐 이들 형태를 렌더링 ZendX_JQuery 사용 ( 같은 frmTabSubCountry) 서브 하위 폼 두 번째 내부 탭 선을 따라 표시됩니다.

양식이 잘 렌더링됩니다. 유일한 문제는 프로그래밍 방식으로 값을 가장 안쪽 하위 폼의 필드/요소로 설정하는 것입니다.

요소 필드 이름은 텍스트 상자 이름이 일 수 있도록 해당 계층 구조와 관계에 따라 렌더링됩니다. [국가] [카운티 이름].

그러나이 필드에 값을 할당하려면 어떻게해야합니까? 나는 다음과 같은 옵션을 시도 : 응용 프로그램이 아니라 렌더링

$arrFormData['Facts[Country][county_name]'] = 'Singapore'; 

$Form->populate(array('Facts'=> 
     array('Country'=> array('country_name'=> 'Singapore')))); 

$form->Facts->Country->country_name->setValue('Singapore'); 

$form->getSubForm('Facts') 
       ->getSubForm('Country') 
        ->getElement('country_name')->setValue('Singapore'); 

있지만 및 POST 작업이 예상 될 때, 하위 폼을 얻을 수있는 마지막 행은 '사실'하위 폼을받은 후 실패합니다. 이 도움이된다면

답변

0

확인을 도와 주셔서 감사 :

$this->element->Facts->Country->country_name->setValue('Singapore');