我正在构建一个自定义的“销售”页面,该页面将自动显示任何具有销售价格的产品。
我的方法是获取整个产品集合并添加可见的过滤器,具有销售价格,具有图像(我们的商店需要,因为我们与 POS 系统集成,因此产品会自动创建并从 POS 可见)。
我获取产品的代码如下所示:
$_productCollection = Mage::getResourceModel('catalog/product_collection');
$_productCollection->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds());
$_productCollection = $this->_addProductAttributesAndPrices($_productCollection)
->addStoreFilter()
->addAttributeToSort('entity_id', 'desc') //THIS WILL SHOW THE LATEST PRODUCTS FIRST
->addAttributeToFilter('special_price', array('notnull' => 1)) // only products where special_price is not empty
->addAttributeToFilter('thumbnail', array('neq' => 'no_selection'))
->setPageSize($this->get_prod_count())
->setCurPage($this->get_cur_page());
$this->setProductCollection($_productCollection);
$_helper = $this->helper('catalog/output');
$this->setData('column_count',5);
它按预期工作,我得到了一份有库存、在售、可见并有图像的产品列表。唯一的问题是不再填充分层导航。该类别绝对设置为“锚”,所以这不是问题。
我相信这是因为分层导航正在寻找分配给该类别的产品并且该类别为空 - 它使用的是自定义模板,该模板调用/覆盖上述产品集合。
所以我的问题是,如果我对上述假设是正确的,我怎样才能将集合的结果发送到分层导航?