我正在尝试扩展:Mage_Catalog_Model_Product_Visibility
我正在修改Visibility.php文件中的以下内容:
public function getVisibleInSiteIds()
{
return array(self::VISIBILITY_IN_SEARCH, self::VISIBILITY_IN_CATALOG, self::VISIBILITY_BOTH);
}
Into:
public function getVisibleInSiteIds()
{
return array(self::VISIBILITY_IN_SEARCH, self::VISIBILITY_IN_CATALOG, self::VISIBILITY_BOTH, self::VISIBILITY_NOT_VISIBLE);
}
已设置为“不可见”状态的过时产品仍然可以从其直接URL中显示(默认情况下,Magento会显示404错误页面)。
我通过修改核心文件进行了测试,并且它可以正常工作。但是我想创建一个小扩展程序,到目前为止我无法使其正常运行。我所做的如下:
app/etc/modules/CustomCode_InvisibleProducts.xml
<?xml version="1.0"?>
<config>
<modules>
<CustomCode_InvisibleProducts>
<active>true</active>
<codePool>local</codePool>
</CustomCode_InvisibleProducts>
</modules>
</config>
app/code/local/CustomCode/InvisibleProducts/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<CustomCode_InvisibleProducts>
<version>0.1.0</version>
</CustomCode_InvisibleProducts>
</modules>
<global>
<models>
<customcode_invisibleproducts>
<class>CustomCode_InvisibleProducts_Model</class>
</customcode_invisibleproducts>
<catalog>
<rewrite>
<product_visibility>CustomCode_InvisibleProducts_Model_Catalog_Product_Visibility</product_visibility>
</rewrite>
</catalog>
</models>
</global>
</config>
app/code/local/CustomCode/InvisibleProducts/Model/Catalog/Product/Visibility.php
class CustomCode_InvisibleProducts_Model_Catalog_Product_Visibility extends Mage_Catalog_Model_Product_Visibility
{
.....
一些问题可能是因为我没有正确扩展模型,因为似乎什么也没有发生/改变。
谢谢你的帮助!
Mage::log()
)。 - Fabian Schmengler