2013-07-26 53 views
0

我在我的产品上添加了yes/no属性,这可以让我在首页上显示推荐的产品(属性设置为yes)。现在,我想在我的主页上显示一个随机产品。这是现在我的代码:显示Magento主页中的随机产品

$show_num_items = 2; 
$show_index_array = array(); 
$index_iterator = 1; 

$_productCollection = Mage::getResourceModel('reports/product_collection') 
    ->addAttributeToSelect('*') 
    ->addAttributeToFilter('type_id', 'configurable'); 

if($_productCollection->getSize()): 
    $show_index_array = range(0,($_productCollection->getSize()-1)); 
    shuffle($show_index_array); 
    $show_index_array = array_slice($show_index_array, 0, $show_num_items); 

    foreach($_productCollection as $_product): 
     $_recommended = $_product->getData('recommend_product'); 
     if($_recommended == 1): 
      if(in_array($index_iterator, $show_index_array)): ?> 
       <div><img src="<?php echo $this->helper('catalog/image')->init($_product, 'image'); ?>" />  
       </div> 
       <dl> 
        <dt><a href="<?php echo $_product->getProductUrl(); ?>"><?php echo $_product->getName(); ?></a></dt> 
        <dd><?php echo $_product->getResource()->getAttribute('short_description')->getFrontend()->getValue($_product); ?></dd> 
        <dd><a href="<?php echo $_product->getProductUrl(); ?>">Read More</a></dd> 
       </dl> 
      <?php endif; 
       $index_iterator++; 
     endif; 
    endforeach; 
endif;    

这不是干净的,我知道,它的作品,但也有在它不返回其返回2.任何产品和实例的情况下,我怎样才能让这个回报1产品在任何时候?

回答

2

尝试用$show_num_items = 1;$index_iterator = 0;,并添加->addAttributeToFilter('recommend_product', 1);到您的收藏

+0

其实,这是我做什么,但原来没有的产品出现了,所以我试图改变值 – user1597438

+0

没有注意到你的产品是否检验在收集完成后推荐使用。这样,随机选择的产品可能不被推荐,因此不会显示任何内容。我相应地编辑了我的答案 – blmage

+0

真棒!非常感谢。 – user1597438

相关问题