Я пытаюсь создать простой модуль для magento. Я создал свой контроллер, мои маршруты, но по какой-то причине я не могу получить доступ к моей модели. Насколько я знаю, он даже не загружен.Magento Model не загружается
У меня нет сообщения об ошибке, и объект модели не создается.
Что может быть причиной этого?
Вот некоторая информация:
Контроллер:
class MyVendor_MyModule_IndexController extends Mage_Core_Controller_Front_Action
{
public function pingAction(){
$model = Mage::getModel('mymodule/mymodule');
echo "<pre>" . print_r($model->load(1),true);
}
}
вид модели дерева:
MyVendor -MyModule -- controllers ---- IndexController.php -- Model ---- Mysql4 -------- MyModule.php -------- MyModule ---------------- Collection.php ---- MyModule.php -- etc ---- config.xml
config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<MyVendor_MyModule>
<version>0.0.1</version>
</MyVendor_MyModule>
</modules>
<frontend>
<routers>
<mymodule>
<use>standard</use>
<args>
<module>MyVendor_MyModule</module>
<frontName>mymodule</frontName>
</args>
</mymodule>
</routers>
</frontend>
<global>
<models>
<mymodule>
<class>MyVendor_MyModule_Model</class>
<resourceModel>mymodule_mysql4</resourceModel>
</mymodule>
<mymodule_mysql4>
<class>MyVendor_MyModule_Model_Mysql4</class>
<entities>
<mymodule>
<table>mymodule_table</table>
</mymodule>
</entities>
</mymodule_mysql4>
</models>
<resources>
<mymodule_setup>
<setup>
<module>MyVendor_MyModule</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mymodule_setup>
<mymodule_setup>
<connection>
<use>core_write</use>
</connection>
</mymodule_setup>
<mymodule_setup>
<connection>
<use>core_read</use>
</connection>
</mymodule_setup>
</resources>
</global>
</config>
И в моей модели у меня есть простой:
class MyVendor_MyModule_Model_Mysql4_MyModule extends Mage_Core_Model_Mysql4_Abstract
{
public function _construct()
{
$this->_init('mymodule/mymodule', 'id');
}
}
Какой код вы используете для доступа к своей модели? –
@AlanStorm Я обновил свой пост :) – MGP
Случайные отладочные советы: Что вызывает вызов $ model-> load return? (var_dump вместо print_r). Можете ли вы создать экземпляр своего класса модели напрямую? ($ o = new MyVendor_MyModule_Model_MyModel;) Посмотрите в Mage_Core_Model_Config :: getGroupedClassName и попытайтесь выяснить, почему Magento не может прочитать имя класса из вашей конфигурации. –