2011-08-22 25 views
0

我有以下代碼段, 在MyClass的,我已設置裝飾變量,如何設置裝飾器輸入類型文件中的元素?

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')) 
); 

在功能的CreateForm,

....

$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

file元素必須包含「文件」裝飾,一般在地方的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

相關問題