2013-07-26 5 views
0

제품에 예/아니오 속성을 추가하여 첫 페이지에 추천 제품 (예 : 속성이 예로 설정 됨)을 표시 할 수있게했습니다. 자, 내 홈페이지에 무작위로 1 제품을 표시하고 싶습니다. 이것은 지금 내 코드입니다 :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;으로 시도하고

+0

사실 컬렉션에 ->addAttributeToFilter('recommend_product', 1);를 추가, 그게 내가 원래 무슨 짓을했지만 어떤 제품은 당신이 제품 경우 테스트되었다는 통지를하지 않았다 값 – user1597438

+0

을 변경 시도까지 없었다 컬렉션이로드 된 후 권장되었습니다. 이렇게하면 무작위로 선택한 제품을 권장하지 않을 수 있으므로 아무 것도 표시 할 수 없습니다. 그에 따라 내 대답을 편집했습니다 – blmage

+0

굉장해! 고마워. – user1597438

관련 문제