私はmagentoを初めて使っています。サイトに関する虐待を報告するモジュールを作成しようとしています。私は下のページにフォームを持っています。このgetIdFieldNameのMagentoでの致命的なエラーを修正するにはどうすればよいですか?
http://localhost/magento/vendorinfo/page/report/
モジュール名はvendorinfo、controllerはpage、actionはreportです。以下は、私はDBに自分のデータを格納するために、上記のアクションと呼ばれるフォームを送信すると、私のVenderinfoモジュール
public function reportsubmitAction() {
$data = $this->getRequest()->getParams();
try {
$insert_data = array();
$insert_data['reporter_name'] = $data['name'];
$insert_data['reporter_email'] = $data['email'];
$insert_data['report_category'] = $data['category_type'];
$insert_data['reporter_comment'] = $data['report_comments'];
$model = Mage::getModel('vendorinfo/report');
$model->setData($insert_data)->setId(null); // i have got the error on this line
$model->setCreatedTime(now())->setUpdateTime(now());
$model->save();
Mage::getSingleton('frontend/session')->addSuccess(Mage::helper('articles')->__('Report was successfully submitted'));
Mage::getSingleton('frontend/session')->setFormData(false);
} catch (Exception $e) {
Mage::getSingleton('frontend/session')->addError($e->getMessage());
Mage::getSingleton('frontend/session')->setFormData($data);
$this->_redirect('vendorinfo/page/report', array());
return;
}
}
から取った私のReportAction
です。しかし、私は、
class Comp_Vendorinfo_Model_Report extends Mage_Core_Model_Abstract
{
public function _construct()
{
parent::_construct();
$this->_init('vendorinfo/report_abuse');
}
}
また
Fatal error: Call to a member function getIdFieldName() on a non-object in C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\Abstract.php on line 151
私は、次のフォルダ構造の下2つのモデルファイルを作成する必要があり、
1 Venderinfo /モデル/ Report.phpをこの下のエラーを得たveは」
2.Venderinfo /モデル/ Mysql4 /レポート/ Collection.php
class Comp_Vendorinfo_Model_Mysql4_Report_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
{
public function _construct()
{
parent::_construct();
$this->_init('vendorinfo/report_abuse');
}
}
どうしたのですか?
これに関する助言
magentoバージョンが1.6以上であれば、Mysql4以外のリソースを使用する方がよいでしょう。 –