Php Magento-目录搜索模块覆盖不工作
我想覆盖核心目录搜索模块中图层的“prepareProductCollection”功能。这是我写的: 文件路径:Php Magento-目录搜索模块覆盖不工作,php,magento,Php,Magento,我想覆盖核心目录搜索模块中图层的“prepareProductCollection”功能。这是我写的: 文件路径:Company/Module/Model/CatalogSearch/Layer.php class Company_Module_Model_CatalogSearch_Layer extends Mage_CatalogSearch_Model_Layer { public function prepareProductCollection($collection) {
Company/Module/Model/CatalogSearch/Layer.php
class Company_Module_Model_CatalogSearch_Layer extends Mage_CatalogSearch_Model_Layer
{
public function prepareProductCollection($collection)
{
parent::prepareProductCollection($collection);
Mage::getModel('cataloginventory/stock_item')->addCatalogInventoryToProductCollection($collection);
$collection->getSelect()->order('is_in_stock desc');
return $this;
}
}
在配置文件中:
<config>
<modules>
<Company_Module>
<version>0.0.0.1</version>
<Company_Module>
</modules>
<global>
<models>
<module>
<class>Company_Module_Model</class>
</module>
<catalogsearch>
<rewrite>
<layer>Company_Module_Model_CatalogSearch_Layer</layer>
</rewrite>
</catalogsearch>
</models>
</global>
</config>
0.0.0.1
公司模块模型
公司\模块\模型\目录搜索\层
我想我可能错过了什么?有人能帮我吗?你错过了config.xml中的
catalogsearch
标记的结尾在顶部添加require\u一次(app/Mage/catalogsearch/Model/Layer)我也尝试了同样的方法。我学习了多个教程,并尝试了几种方法。最后,我一直有503个错误(没有任何maintanance.flag文件-其他商店网站运行良好)。
但我设法解决了这个问题。我将向您展示我现在拥有的以及503的原因,以防有人偶然发现该问题: 我将模块命名为Company/CatalogSearch,它由三个文件组成: app/code/local/Company/CatalogSearch/Model/Layer.php:
<?php
class Company_CatalogSearch_Model_Layer extends Mage_CatalogSearch_Model_Layer {
public function prepareProductCollection($collection) {
parent::prepareProductCollection($collection);
// YOUR CODE HERE
return $this;
}
}
<?xml version="1.0"?>
<config>
<modules>
<Company_CatalogSearch>
<version>0.1</version>
</Company_CatalogSearch>
</modules>
<global>
<models>
<catalogsearch>
<rewrite>
<layer>Company_CatalogSearch_Model_Layer</layer>
</rewrite>
</catalogsearch>
</models>
</global>
</config>
<?xml version="1.0"?>
<config>
<modules>
<Company_CatalogSearch>
<active>true</active>
<codePool>local</codePool>
</Company_CatalogSearch>
</modules>
</config>
<rewrite>
<layer>
Company_CatalogSearch_Model_Layer
</layer>
</rewrite>
<rewrite>
<layer>Company_CatalogSearch_Model_Layer</layer>
</rewrite>