【发布时间】:2015-09-22 17:39:54
【问题描述】:
不确定我在这里做错了什么..但我正在尝试使用自定义模块重写 Magento 核心目录产品模型(app/code/Mage/Catalog/Model/Product)。见以下代码:
app/code/local/James/Catalog/etc/config.xml:
<?xml version="1.0"?>
<config>
<modules>
<James_Catalog>
<version>1.0.1</version>
</James_Catalog>
</modules>
<global>
<models>
<catalog>
<rewrite>
<product>James_Catalog_Model_Product</product>
</rewrite>
</catalog>
</models>
</global>
</config>
app/code/local/James/Catalog/Model/Product.php:
<?php
require_once('Mage/Catalog/Model/Product.php');
class James_Catalog_Model_Product extends Mage_Catalog_Model_Product {
public function Test() {
return "Function Called";
}
}
app/etc/modules/James_Catalog.xml:
<?xml version="1.0"?>
<config>
<modules>
<James_Catalog>
<active>true</active>
<codePool>local</codePool>
</James_Catalog>
</modules>
</config>
然后,访问函数:
$_product = Mage::getSingleton('catalog/product');
echo $_product->Test();
没有返回任何内容。看起来我无法访问该功能。想法?感谢您的帮助。
【问题讨论】:
-
而不是
给出一些唯一的名称,例如 - .. 同时检查错误日志是否有任何错误? -
$_product = Mage::getSingleton('catalog/product');这也将调用核心模型,而不是尝试使用 $_product = Mage::getSingleton('james_catalog/product');