0
DisplayGroup을 사용하여 그룹의 몇 가지 요소를 렌더링합니다. 이제는이 그룹을 단일 테이블 행에 렌더링합니다. DisplayGroup의 Decorators는 이 아니며은 단순한 요소와 동일한 방식으로 작동합니다. 예 :Zend Framework의 DisplayGroup 데코레이터
$content = $this->getDisplayGroup('group');
$content->setDecorators(array(
'FormElements',
array('HtmlTag', array('tag' => 'table', 'class' => 'element')),
));
이것은 단지 내 DisplayGroup의 말에 <table></table>
을 넣습니다. 나는 또한 그들에게 별명을 시도했다 :
array(array('elementDiv' => 'HtmlTag'), array('tag' => 'table')),
'FormElements',
array(array('td' => 'HtmlTag'), array('tag' => 'table')),
아직도 한 장소에두고
, 둘은openOnly
및
closeOnly
시도 :
array(array('elementDiv' => 'HtmlTag'), array('tag' => 'table','openOnly'=>true)),
'FormElements',
array(array('td' => 'HtmlTag'), array('tag' => 'table','closeOnly'=>true)),
을 그리고 그것은 여전히 닫는 태그에 저장합니다. 이 값을 <td>
으로 변경하면 모든 것이 정상적으로 작동하지만 <table>
으로 누락 된 것이 있습니까?
'HtmlTag' 데코레이터는 태그를 차별하지 않으므로 잘 동작해야합니다. 디스플레이 태그의 끝에 표 태그를 넣으면 실제 렌더링 된 소스가 표시됩니까? – Phil
예. 스택에 데코레이터를 놓는 위치에 열리고 닫힌 태그를 나란히 놓습니다. –
방금 시도한 것과 같은 결과를 얻는 것처럼 보였지만 렌더링 된 마크 업을 조사하기 위해 방화 광을 사용하고 있는데 사실 실제로 표 태그가 표시 그룹을 둘러싸고있는 것을 발견했습니다 (그리고 페이지를 볼 때 이것을 볼 수 있습니다). 그리고 Zend/Form/Decorator/HtmlTag.php에서 코드를 단계별로 살펴 보자. 그래서 제 경우에는 기대했던대로 마크 업되지 않은 렌더링 된 마크 업에 대한 방화범의 해석입니다. 비슷한 문제가있을 수 있습니다. – jah