2013-02-03 21 views
0

我試圖創建一個自定義的magento擴展。Comstum magento extention不保存表單後值

它的工作原理,只有1個表單字段沒有保存到數據庫。

public function saveAction() 
{ 
    if ($postData = $this->getRequest()->getPost()) { 
     $model = Mage::getSingleton('foo_bar/baz'); 
     $model->setData($postData); 

     try { 
      $model->save(); 

      Mage::getSingleton('adminhtml/session')->addSuccess($this->__('The baz has been saved.')); 
      $this->_redirect('*/*/'); 

      return; 
     } 
     catch (Mage_Core_Exception $e) { 
      Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); 
     } 
     catch (Exception $e) { 
      Mage::getSingleton('adminhtml/session')->addError($this->__('An error occurred while saving this baz.')); 
     } 

     Mage::getSingleton('adminhtml/session')->setBazData($postData); 
     $this->_redirectReferer(); 
    } 
} 

形式:

protected function _prepareForm() 
{ 
    $model = Mage::registry('foo_bar'); 

    $form = new Varien_Data_Form(array(
     'id'  => 'edit_form', 
     'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))), 
     'method' => 'post' 
    )); 

    $fieldset = $form->addFieldset('base_fieldset', array(
     'legend' => Mage::helper('checkout')->__('Baz Information'), 
     'class'  => 'fieldset-wide', 
    )); 

    if ($model->getId()) { 
     $fieldset->addField('id', 'hidden', array(
      'name' => 'id', 
     )); 
    } 

    $fieldset->addField('name', 'text', array(
     'name'  => 'name', 
     'label'  => Mage::helper('checkout')->__('Name'), 
     'title'  => Mage::helper('checkout')->__('Name'), 
     'required' => true, 
    )); 

    $fieldset->addField('stock', 'text', array(
     'name'  => 'stock', 
     'label'  => Mage::helper('checkout')->__('stock'), 
     'title'  => Mage::helper('checkout')->__('stock'), 
     'required' => true, 

    )); 

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

    return parent::_prepareForm(); 
} 
} 

的值的股票場不保存「。

我檢查了列股票存在於數據庫和名稱是相同的。

有誰知道我在做什麼錯?

在此先感謝。

回答

2

如果您已添加庫存字段,可能只需通過管理系統 - >緩存管理(刷新Magento緩存和刷新緩存存儲按鈕)清除緩存。 Magento喜歡緩存以前的查詢,因此在不清除緩存的情況下添加新字段可能會導致新列未保存的問題。

+0

謝謝你的工作。我不知道後端查詢也被緩存。 – user2013454