Php Magento 1.9扩展核心类
我想扩展核心产品类并添加一些功能 我创建了app\code\local\ast\Catalog\etc\config.xml文件Php Magento 1.9扩展核心类,php,magento,model,magento-1.9,extend,Php,Magento,Model,Magento 1.9,Extend,我想扩展核心产品类并添加一些功能 我创建了app\code\local\ast\Catalog\etc\config.xml文件 <?xml version="1.0"?> <config> <modules> <ast_Catalog> <version>0.0.1</version> </ast_Catalog> </module
<?xml version="1.0"?>
<config>
<modules>
<ast_Catalog>
<version>0.0.1</version>
</ast_Catalog>
</modules>
<global>
<models>
<catalog>
<rewrite>
<product>ast_Catalog_Model_Product</product>
</rewrite>
</catalog>
</models>
</global>
</config>
现在,当我尝试在app\design\frontend\ast\default\template\catalog\product\view.phtml文件中使用函数makeBlue()时
<div class="product-shop">
<?php
....
echo 'hello';
echo $this->makeBlue();
....
?>
怎么了?您在创建模块时没有遵守命名约定。模块名称空间和模块名称应以大写字母开头,尝试在xml、类名和文件夹名称中将“ast”更改为“ast”问题是我扩展了类ast\u Catalog\u Model\u Product而不是Mage\u Catalog\u Block\u Product\u View。更改后,将类扩展为Mage\u Catalog\u Block\u Product\u View,一切正常
class ast_Catalog_Model_Product extends Mage_Catalog_Model_Product
{
public function makeBlue()
{
echo 'makeBlue';
}
}
<div class="product-shop">
<?php
....
echo 'hello';
echo $this->makeBlue();
....
?>
Invalid method Mage_Catalog_Block_Product_View::makeBlue(Array
(
)
)
#0 I:\WWW\Sklep_www4\app\design\frontend\ast\default\template\catalog\product\view.phtml(45): Varien_Object->__call('makeBlue', Array)
.......