Функция загрузки пользовательского модуля() не работает
Я пробую пользовательское расширение с таблицей.я успешно создал, но функция load() не работает.
Здесь полное расширение config.xml путь приложение/код/локальный/Amit/Productfaq/etc/
<?xml version="1.0"?>
<config>
<modules>
<Amit_Productfaq>
<version>1.0.0</version>
</Amit_Productfaq>
</modules>
<!-- Call Model -->
<global>
<models>
<productfaq>
<class>Amit_Productfaq_Model</class>
<resourceModel>productfaq_resource</resourceModel>
</productfaq>
<productfaq_resource>
<class>Amit_Productfaq_Model_Resource</class>
<entities>
<productfaq>productfaq</productfaq>
</entities>
</productfaq_resource>
</models>
<resources>
<productfaq_setup>
<setup>
<module>Amit_Productfaq</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</productfaq_setup>
<productfaq_read>
<connection>
<use>core_read</use>
</connection>
</productfaq_read>
<productfaq_write>
<connection>
<use>core_write</use>
</connection>
</productfaq_write>
</resources>
<!-- helper -->
<helpers>
<productfaq>
<class>Amit_Productfaq_Helper</class>
</productfaq>
</helpers>
</global>
<frontend>
<routers>
<productfaq>
<use>standard</use>
<args>
<module>Amit_Productfaq</module>
<frontName>productfaq</frontName>
</args>
</productfaq>
</routers>
</frontend>
</config>
Файл модели - это Productfaq.php путь приложение/код/локальный/Amit/Productfaq/Модель
<?php
class Amit_Productfaq_Model_Productfaq extends Mage_Core_Model_Abstract
{
public function _construct()
{
$this->_init('productfaq/productfaq');
}
public function abc(){
return "amit";
}
}
Productfaq.php приложение/код/локальный/Amit/Productfaq/Модель/Ресурс/
<?php
class Amit_Productfaq_Model_Productfaq_Resource_Productfaq extends Mage_Core_Model_Resource_Db_Abstract
{
protected function _construct()
{
$this->_init('productfaq/productfaq', 'productfaq_id');
}
}
Установщик install.php \приложение\код\локальный\Amit\Productfaq\sql\productfaq_setup
<?php
$installer=$this;
$installer->startSetup();
$installer->run("
-- DROP TABLE IF EXISTS {$this->getTable('productfaq')};
CREATE TABLE {$this->getTable('productfaq')} (
`productfaq_id` int(11) unsigned NOT NULL auto_increment COMMENT 'Q&A ID',
`product_id` int(11) NOT NULL COMMENT 'Product Id' ,
`customer_name` varchar(255) NOT NULL COMMENT 'Customer Name',
`customer_email` varchar(255) NOT NULL COMMENT 'Customer Email',
`question` text NOT NULL COMMENT 'Question',
`answer` text NOT NULL COMMENT 'Answer',
`status` smallint(6) NOT NULL default '0' COMMENT 'Status',
`created_time` datetime NULL,
`update_time` datetime NULL,
PRIMARY KEY (`productfaq_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
$installer->endSetup();
?>
Файл модуля Amit_Productfaq.xml путь - это приложение/etc/модули/
<?xml version="1.0"?>
<config>
<modules>
<Amit_Productfaq>
<codePool>local</codePool>
<active>true</active>
</Amit_Productfaq>
</modules>
</config>
Маг::getModel('productfaq/productfaq')->загрузить(1)
Показать ошибку "Fatal error: Call to a member function load() on a non-object in C:\wamp\www\magento1702v1\app\code\local\Mage\Core\Model\Abstract.php on line 225
".
Я вставил данные в таблицу
INSERT INTO `productfaq` (`productfaq_id`, `product_id`, `customer_name`, `customer_email`, `question`, `answer`, `status`, `created_time`, `update_time`) VALUES
(1, 45, 'Amit Bera', '[email protected]', 'I love you ', 'Mage_Core_Controller_Front_Action', 1, '2014-03-25 00:00:00', '2014-03-31 00:00:00');
2 answers
Ошибка, которую я вижу, заключается в следующем: приложение/код/локальный/Amit/Продукт/и т. Д./(я думаю, что это должно быть Productfaq, потому что именно так это определено в app/etc/modules/Amit_Productfaq.xml - амит_продуктфак).
Еще один можно найти здесь: приложение/код/локальный/Amit/Продукт/Модель/Ресурс/(я думаю, что это также должно быть Productfaq вместо просто Продукт).
В общем, убедитесь, что ваши узлы конфигурации соответствуют вашему каталогу структура.
Да, после 4 часов работы я решил проблему. Есть проблемы в config.xml
отсутствует синтаксис <table>
в объявлении <productfaq_resource>
.
<productfaq_resource>
<class>Amit_Productfaq_Model_Resource</class>
<entities>
<productfaq>
<table>productfaq</table>
</productfaq>
</entities>
</productfaq_resource>