2013-09-30 93 views
0

我創建了一個自定義擴展,我需要在自定義表單中添加一個「條件規則選項卡」字段。 規則選項卡顯示,但不能work.when我檢查firebuger下面將給出。 的ReferenceError:未定義VarienRulesForm 我的代碼是條件規則塊 - 自定義模塊

protected function _prepareForm() 
{ 

    $model = Mage::getModel('callforprice/callforprice')->load(); 

    $form = new Varien_Data_Form(); 
    $helper = Mage::helper('callforprice'); 

    $renderer = Mage::getBlockSingleton('adminhtml/widget_form_renderer_fieldset') 
      ->setTemplate('promo/fieldset.phtml') 
      ->setNewChildUrl($this->getUrl('callforprice/adminhtml_callforprice/newConditionHtml', array(
       'form' => 'css_conditions_fieldset', 
       'prefix' => 'css', 
       'rule' => base64_encode('callforprice/callforprice_product_rulecss')))); 

    $fieldset = $form->addFieldset('css_conditions_fieldset', array(
       'legend' => $this->__('Conditions (leave blank for all products)') 
      ))->setRenderer($renderer); 

    $rule = Mage::getModel('callforprice/callforprice_product_rulecss'); 


    $rule->getConditions()->setJsFormObject('css_conditions_fieldset'); 
    $rule->getConditions()->setId('css_conditions_fieldset'); 

    $rule->setForm($fieldset); 
    if ($model->getData('conditions_serialized') && is_array($model->getData('conditions_serialized')->getData('conditions'))) { 
     $conditions = $model->getData('conditions_serialized')->getData('conditions'); 
     $rule->getConditions()->loadArray($conditions, 'css'); 
     $rule->getConditions()->setJsFormObject('css_conditions_fieldset'); 
    } 

    $fieldset->addField('css_conditions', 'text', array(
     'name'  => 'css_conditions', 
     'label' => $this->__('Apply To'), 
     'title' => $this->__('Apply To'), 
     'required' => true, 
    ))->setRule($rule)->setRenderer(Mage::getBlockSingleton('rule/conditions')); 

    $form->setValues($model->getData()); 
    $this->setForm($form); 


    return parent::_prepareForm(); 
} 
+1

請發表您的JS文件列表規則。 –

+0

<操作方法= 「的addItem」> JS ExtJS的/ EXT-tree.js <操作方法= 「的addItem」> JS ExtJS的/修復-defer.js <操作方法=「addItem」> js extjs/ext-tree-checkbox.js user123456789

回答

1

在這裏嘗試用CSS來加載所有的js爲rules.Try這個

<default> 
     <reference name="head"> 
      <action method="addItem"><type>js</type><name>extjs/ext-tree.js</name><params/></action> 
      <action method="addItem"><type>js</type><name>extjs/fix-defer.js</name><params/></action> 
      <action method="addItem"><type>js</type><name>extjs/ext-tree-checkbox.js</name><params/></action> 
       <action method="addItem"><type>js</type><name>mage/adminhtml/rules.js</name><params/></action> 
      <action method="addItem"><type>js_css</type><name>extjs/resources/css/ext-all.css</name><params/></action> 
     </reference> 
    </default>