2010-07-18 48 views
0

如何使用loadDefaultDecorators函數刪除裝飾器標籤+ HtmlTag?Zend_Form - loadDefaultDecorators ::如何使用loadDefaultDecorators函數移除裝飾器標籤+ HtmlTag?

我的解決方法 - 請告訴我,如果我在執行工作良好或需要修改

class MyForm extend Zend_Form{ 

    function init(){ 
    //create form elements 
    ...................................... 
    } 

public function loadDefaultDecorators() { 
    if ($this->loadDefaultDecoratorsIsDisabled()) { 
    return $this; 
    } 
    foreach($this->getElements()as $elem){ 
    $elem->removeDecorator('Label') 
     ->removeDecorator('HtmlTag'); 
     } 
    return $this; 
    } 
} 

感謝

回答

2

你不得不重寫loadDefaultDecorators方法MyForm的類,但你不得不這樣做,對於每一個元素類。 在這種情況下,您不會看到任何表單HTML代碼,因爲您沒有提供窗體特定的裝飾器,如Form,FormElements等。上述所有這些裝飾器均在Zend_Form類的loadDefaultDecorators方法中定義。 試着在你的loadDefaultDecorators方法開始添加以下行:

parent::loadDefaultDecorators(); 

這將調用Zend_Form類的對應方法。