Я новичок в magento. Я пытаюсь написать модуль, чтобы сообщить о нарушении сайта. У меня есть форма на странице ниже.
http://localhost/magento/vendorinfo/page/report/
Имя модуля - vendorinfo, контроллер - страница, а действие - отчет. Ниже мой ReportAction
, который взят из моего модуля 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;
}
}
Когда я отправлял форму, я вызывал вышеуказанное действие для сохранения моих данных в БД. Но у меня есть эта ошибка ниже,
Неустранимая ошибка: вызов функции-члена getIdFieldName () для
не объект в
C: \ xampp \ htdocs \ magento \ app \ code \ core \ Mage \ Core \ Model \ Abstract.php на
линия 151
Также я создал 2 файла модели в следующей структуре папок,
1. Venderinfo / Модель / Report.php
class Comp_Vendorinfo_Model_Report extends Mage_Core_Model_Abstract
{
public function _construct()
{
parent::_construct();
$this->_init('vendorinfo/report_abuse');
}
}
2.Venderinfo / модель / mysql4 / Report / 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');
}
}
Что я сделал не так на этом?
Добрый совет по этому поводу.