2013-02-09 91 views
0

我卡在這裏。客戶想要在產品詳細信息頁面(產品追加部分)中隨機顯示產品。我選擇不使用內置的追加銷售功能,原因有很多,但沒有必要討論這一點。在產品詳細信息頁面上調用產品型號覆蓋默認產品

我目前顯示隨機產品,像這樣:

<?php 

    $category = Mage::getModel('catalog/category')->load(9); 
    $products = Mage::getModel('catalog/product') 
     ->getCollection() 
     ->addCategoryFilter($category) 
     ->load(); 

    foreach ($products as $product) { 
     $result[$product->getId()] = $product; 
    } 

    $_product = Mage::getModel('catalog/product')->load(array_rand($result, 1)); 

?> 

<a href="<?php echo $_product->getProductUrl(); ?>" title="<?php echo $_product->getName(); ?>"> 

    <img src="<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail')->resize(190); ?>" /> 

    <?php echo $_product->getName(); ?><br /> 
    <?php echo Mage::helper('core')->currency($_product->getPrice()); ?> 

</a> 

的問題是,通過調用法師:: getModel(「目錄/產品」),我認爲目前的產品被覆蓋。例如,當我點擊「添加到購物車」按鈕時,我的自定義特色upsell產品將被添加到購物車,而不是產品詳細信息頁面中的實際產品。

回答

2

原因是因爲您重寫了默認模板使用的$_product變量。使用你自己的變量名稱,你會很好

$_myProduct = Mage::getModel('catalog/product')->load(array_rand($result, 1));