0

製品に yes/no 属性を追加して、フロント ページに推奨製品を表示できるようにしました (属性は yes に設定されています)。今、私は自分のホームページに 1 つのランダムな製品を表示したいと考えています。これは今私のコードです:

    $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つの製品に戻すにはどうすればよいですか?

4

1 に答える 1

2

と を試して$show_num_items = 1;、コレクション$index_iterator = 0;に追加してください->addAttributeToFilter('recommend_product', 1);

于 2013-07-26T09:41:32.430 に答える