2014-05-10 107 views
0

m working with random products on my homepage and i m試圖只顯示帶圖像和庫存的產品。我設法得到它通過使用下面的代碼只顯示產品的形象和使用inStock:Magento僅在主頁上顯示帶圖像的產品

<?php 
$products_noimage = Mage::getModel('catalog/product') 
    ->getCollection() 
    ->addAttributeToSelect('*') 
    ->addAttributeToFilter('image', array('neq' => 'no_selection'));  
?> 
<?php foreach ($_productCollection as $_product): ?> 
<?php if(!$_product->isSaleable() && $products_noimage && $_product->isInStock())continue; ?> 
<?php //if criteria is meet show products below  
?> 

但我的問題是,當網頁有時加載,它會顯示只有1或2的產品在電網,因爲我有很多沒有圖像和outofstock產品我認爲該網頁正在加載產品outofstock和沒有圖像,但只顯示1或2產品的形象和stocky。

例子:該頁面將在電網負荷16個產品不同於16個產品只有2有圖像,並使用inStock其餘不符合這一標準..

如何避免它,而不是隻加載那些2那些滿足條件負載順序的其他產品的那些標準(與圖像和instock)..

或者它可能永遠不會工作,因爲我使用list.phtml塊嗎?

{{block type="catalog/product_list_random"  template="catalog/product/productrandomhom.phtml"}}  

如果任何人有一個解決方案主頁上篩選隨機產品手感分享=)

回答

0

你的邏輯是app/code/local/Mage/Catalog/Block/Product/List

不對勁

首頁複印Random.php從app/code/core/Mage/Catalog/Block/Product/List

then goto function and image filter in _getProductCollection()

change從$collection = Mage::getResourceModel('catalog/product_collection');

$collection = Mage::getResourceModel('catalog/product_collection') 
     ->addAttributeToFilter('image', array('neq' => 'no_selection')); 

,你只是展示銷售的產品和插件滴答

如果($ _產品 - > isSaleable()& & $ _product-> isInStock()== 1){ } else { continue; }

0

嘗試這段代碼

<?php

$products_noimage = Mage::getModel('catalog/product') ->getCollection() ->addAttributeToSelect('*') ->addAttributeToFilter('image', array('neq' => 'no_selection'));
?>

<?php foreach ($_productCollection as $_product): ?> <?php if(!$_product->isSaleable() && $_product->isInStock()==0)continue; ?> //if criteria is meet show products below ?>

相關問題