【发布时间】:2015-07-19 12:32:09
【问题描述】:
请!!!我被这个问题困扰了大约一个月。
我原来的问题是 Mage::getResourceModel() 返回 false。我尝试了一切,但无法成功。
然后我开始追踪与getResourceModel() 函数相关的核心类。
我最终进入 Config.php _getResourceModelFactoryClassName() 函数,该函数从 $this->_xml->global->models object 读取 XML。
我 var_dump 该 XML 并发现其他模块具有 _resource 属性,但我的模块没有。
["weee"]=>
object(Mage_Core_Model_Config_Element)#143 (2) {
["class"]=>
string(15) "Mage_Weee_Model"
["resourceModel"]=>
string(13) "weee_resource"
}
["weee_resource"]=>
object(Mage_Core_Model_Config_Element)#144 (3) {
["class"]=>
string(24) "Mage_Weee_Model_Resource"
["deprecatedNode"]=>
string(11) "weee_mysql4"
["entities"]=>
object(Mage_Core_Model_Config_Element)#150 (2) {
["tax"]=>
object(Mage_Core_Model_Config_Element)#175 (1) {
["table"]=>
string(8) "weee_tax"
}
["discount"]=>
object(Mage_Core_Model_Config_Element)#172 (1) {
["table"]=>
string(13) "weee_discount"
}
}
}
["module"]=>
object(Mage_Core_Model_Config_Element)#146 (2) {
["class"]=>
string(12) "Namespace_Module_Model"
["resourceModel"]=>
string(11) "module_resource"
}
在上面的代码中 ["module"] 是我的自定义模块,它没有像 ["weee_resource"] 那样的资源
<global>
<models>
<module>
<class>Namespace_Module_Model</class>
<resourceModel>module_resource</resourceModel>
</module>
</models>
<module_resource>
<class>Namespace_Module_Model_Resource</class>
<deprecatedNode>cb_mysql4</deprecatedNode>
<entities>
<payment>
<table>acs_transaction</table>
</payment>
</entities>
</module_resource>
谢谢。
【问题讨论】:
标签: magento magento-1.5 magento-1.6