Если вы хотите добавить это в простой модуль, посмотрите ниже:
app / code / local / Company / InStockOnly / etc / config.xml
<?xml version="1.0"?>
<config>
<global>
<models>
<company_instockonly>
<class>Company_InStockOnly_Model</class>
</company_instockonly>
</models>
</global>
<frontend>
<events>
<catalog_block_product_list_collection>
<observers>
<company_instockonly_list>
<type>singleton</type>
<class>company_instockonly/observer</class>
<method>addInStockOnlyFilter</method>
</company_instockonly_list>
</observers>
</catalog_block_product_list_collection>
</events>
</frontend>
</config>
app / code / local/Company/InStockOnly/Model/Observer.php
<?php
class Company_InStockOnly_Model_Observer {
/**
* Observes the catalog_block_product_list_collection event
*/
public function addInStockOnlyFilter($observer){
$observer->getEvent()->getCollection()
->joinField('stock_status','cataloginventory/stock_status','stock_status',
'product_id=entity_id', array(
'stock_status' => Mage_CatalogInventory_Model_Stock_Status::STATUS_IN_STOCK,
'website_id' => Mage::app()->getWebsite()->getWebsiteId(),
))
;
}
}
Затем заставьте Magento обнаружить ваш модуль:
app / etc / modules / Company_InStockOnly.xml
<config>
<modules>
<Company_InStockOnly>
<active>true</active>
<codePool>local</codePool>
</Company_InStockOnly>
</modules>
</config>
Наслаждайтесь;)