현재 Zend_Form 대신 확장 할 간단한 사용자 정의 레이어를 작성하려고합니다. 예를 들어, My_Form.Zend_Form이 사용자 정의 레이아웃의 요소 기본값을 대체합니다.
모든 양식이 동일하게 보이기를 원하므로 My_Form에 설정하고 싶습니다. 여기까지입니다.
class My_Form extends Zend_Form
{
protected $_elementDecorators = array(
'ViewHelper',
'Errors',
array(array('data' => 'HtmlTag'), array('tag' => 'td', 'class' => 'value_cell')),
array('Label', array('tag' => 'td')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr')),
);
}
그리고 모든 양식이이를 연장합니다. 이제이 작업은 문제가 $ _elementDecorators 배열과 함께 제공됩니다. 레이블을 "td"에 래핑 할 때 Label Decorator는 "td"에 기본 "id"를 적용하지만 그 "td"에도 클래스를 추가하려고합니다.
이 배열을 사용하여이 작업을 수행 할 수 있습니까? 그렇지 않은 경우이 작업을 수행하는 더 좋은 방법이 있습니까? 또는 그렇다면 누군가이 어레이가 어떻게 작동하는지 설명해주십시오.
원하는 결과 :
<tr>
<td class='label_cell'>
<label />
</td>
<td class='value_cell'>
<input />
</td>
</tr>
감사합니다.