2014-03-03 68 views
1

我想更新Magento後端中的現有表單。因爲我不想觸及原分機我複製的文件,改寫了類:Magento重寫現有的表單並更新現有的字段

class Bleedo_xta_Block_Adminhtml_xta_Edit_Tab_information extends Hedox_xta_Block_Adminhtml_xta_Edit_Tab_information { 
protected function _prepareForm() { 
    parent::_prepareForm(); 
    $form = $this->getForm(); 

這工作(如果你發現通過谷歌這篇文章中,不要忘了在你的配置插入此重寫。 XML)

如果我想要一個新的字段添加到這個表格,您可以輕鬆地

$options = $form->getElement('options_form'); 

    $options->addField('new_cost', 'text', array(
       'name' => 'new_cost', 
      'label' => $this->__('New Cost'), 
    )); 

但我怎麼能更新現有的領域做到這一點?問題是我想將一個已經存在的字段設置爲「required」。但是,如果我使用addField,則會出現錯誤。

非常感謝!

回答

1
/* @var $elm Varien_Data_Form_Element_Text */ 
$elm = $this->getForm()->getElement('new_cost'); 
$elm->setData('required',1); 
+0

沒有解釋? –

+0

你在窗體小部件塊的_prepareForm方法內部執行此操作。 詢問是否不清楚 – dima

+0

作品完美!非常感謝! :) – Rikado