2014-05-09 113 views
2

我爲管理員創建了magento 1.8自定義模塊。 它有網格和添加項目選項。在數據庫表中它有兩個字段ID [自動增量]和NAME。 一切工作正常,但當我點擊保存按鈕時,它顯示成功消息,但名稱字段數據不保存到數據庫。唯一ID是遞增和網格magento自定義管理模塊保存操作不起作用

protected function _prepareForm() 
{ 
    $form = new Varien_Data_Form(); 
    $this->setForm($form); 
    $fieldset = $form->addFieldset('fondation_form', array('legend'=>Mage::helper('fondation')->__('Item information'))); 
    $fieldset->addField('Name', 'text', array(
     'label'  => Mage::helper('fondation')->__('Name'), 
     'class'  => 'required-entry', 
     'required' => true, 
     'name'  => 'title', 
    )); 
    if (Mage::getSingleton('adminhtml/session')->getFondationData()) { 
     $form->setValues(Mage::getSingleton('adminhtml/session')->getFondationData()); 
     Mage::getSingleton('adminhtml/session')->setFondationData(null); 
    } elseif (Mage::registry('fondation_data')) { 
     $form->setValues(Mage::registry('fondation_data')->getData()); 
    } 
    return parent::_prepareForm(); 
} 

saveAction功能

public function saveAction() 
{ 
    if ($data = $this->getRequest()->getPost()) { 
     $model = Mage::getModel('fondation/fondation'); 
     $model->setData($data)->setId($this->getRequest()->getParam('id')); 
     try { 
      $model->save(); 
      Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('fondation')->__('Item was successfully saved')); 
      Mage::getSingleton('adminhtml/session')->setFormData(false); 

      if ($this->getRequest()->getParam('back')) { 
       $this->_redirect('*/*/edit', array('id' => $model->getId())); 
       return; 
      } 
      $this->_redirect('*/*/'); 
      return; 
     } catch (Exception $e) { 
      Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); 
      Mage::getSingleton('adminhtml/session')->setFormData($data); 
      $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id'))); 
      return; 
     } 
    } 
    Mage::getSingleton('adminhtml/session')->addError(Mage::helper('fondation')->__('Unable to find item to save')); 
    $this->_redirect('*/*/'); 
} 
+2

見'$ data'變量調用'$模型 - >使用setData($數據)'之前的外觀。如果它具有表中所有字段(主鍵除外)中的所有字段,則嘗試清除緩存。即使緩存被禁用,表架構緩存仍由ZF保存。 – Marius

+0

var_dump($ this-> getRequest() - > getPost()),檢查表單發佈數據是否正常工作 –

+0

它說不能發送標題;頭文件已經發送到/var/www/html/magento_store/app/code/local/Npm/Fondation/controllers/Adminhtml/FondationController.php,第61行,當我添加你的行 – Charlie

回答

4

你的代碼是正確顯示。如果你在數據庫表中有字段名「名稱」然後使用此代碼

$fieldset->addField('Name', 'text', array(
    'label'  => Mage::helper('fondation')->__('Name'), 
    'class'  => 'required-entry', 
    'required' => true, 
    'name'  => 'Name', 
)); 
+0

Hello與我同樣的問題,它會顯示數組,但不保存在數據庫中。字段在extestion – coder

+0

檢查您的字段名稱在數據庫字段和您的addField函數中...兩者必須相同 –

+0

是都相同但在index.controller添加新字段創建任何代碼我在一個模塊中定製 – coder

相關問題