2011-08-22 5 views
0

난 다음 코드 조각 myClass는 내가 설정 변수에서 장식 , 기능에서의 CreateForm입력 유형 파일 요소에 데코레이터를 설정하는 방법은 무엇입니까?

public $testDecorators = array(
    'ViewHelper', 
    'Errors', 
    array('Description', array('escape' => false, 'tag' => '', 'placement' => 'append')), 
    array(array('data' => 'HtmlTag'), array('tag' => 'div', 'class' => 'itemR')), 
    array('Label', array('tag' => 'div', 'class' => 'itemL') 
    ), 
    array('HtmlTag', array('tag' => 'div', 'class' => 'itemcontent')) 
); 

,

....

$cover_image = new Zend_Form_Element_File('cover_test', array(
     'label' => 'Cover Test:', 
     'value' => '', 
     'class' => 'test', 
     'tabindex' => '5', 
     'required' => false, 
     'filters' => array('StringTrim'), 
      'decorators' => $this->testDecorators, 
    )); 

이 ....

내가이 데코레이터를 사용할 때 아무 것도 내 양식에 표시되지 않는다고 말하면 'decorators' => $this->testDecorators, 양식은 다음과 같습니다. 기본 dd 태그로 잘 돌아갑니다. 친절하게 도와주세요

답변

4

파일 요소에는 일반적으로 ViewHelper 데코레이터 대신 '파일'데코레이터가 있어야합니다. 따라서 다음을 시도하십시오.

public $testDecorators = array(
    'File', 
    'Errors', 
    array('Description', array('escape' => false, 'tag' => '', 'placement' => 'append')), 
    array(array('data' => 'HtmlTag'), array('tag' => 'div', 'class' => 'itemR')), 
    array('Label', array('tag' => 'div', 'class' => 'itemL'), 
    array('HtmlTag', array('tag' => 'div', 'class' => 'itemcontent')) 
); 
+0

고맙습니다. 매우 도움이됩니다. – mymotherland

1

$cover_image->getDecorators()에 표시된 내용을 보았습니까?

array(array('data' => 'HtmlTag'), array('tag' => 'div', 'class' => 'itemR')), 

그것이 안 : 마지막 하나는 같은

array('HtmlTag', array('tag' => 'div', 'class' => 'itemR')), 

또한,이 가운데 올바른 하나입니다?

+0

구문이 정확합니다. 각 이름마다 하나의 데코레이터 만 포함 할 수 있으며 배열 구문을 사용하면 별칭을 지정할 수 있습니다. –

+0

아, 그래, 고마워. – ChrisA

관련 문제