0

我在同一类别中有 3 个产品
我正在尝试在 magento 中显示相同类别的产品缩略图catalog/product/view.phtml

<?php
    $productCollection = Mage::getModel('catalog/category')->load($cat_id)
         ->getProductCollection()
         ->addAttributeToSelect('*')
         ->addAttributeToFilter('status', 1);

    $prodIds = $productCollection->getAllIds();

    $prod_siblings = array();
    foreach($prodIds as $productId) 
    {
        $prod =  Mage::getModel('catalog/product')->load($productId);
        $prod_siblings[] = array(
            'url' => $prod->getProductUrl(),
            'name' => $prod->getName(),
            'image' => $this->helper('catalog/image')->init($prod, 'thumbnail')->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(75)
            );
    }
?>

使用此代码,这 3 个$prod_siblings有自己的名称和 url(存储在数组中),但它们都共享相同的图像(最后创建的产品的图像)。

4

2 回答 2

0

尝试将产品详细信息存储在您的$prod_siblings. 这将如下所示:

?php
$productCollection = Mage::getModel('catalog/category')->load($cat_id)
     ->getProductCollection()
     ->addAttributeToSelect('*')
     ->addAttributeToFilter('status', 1);

$prodIds = $productCollection->getAllIds();

$prod_siblings = array();
foreach($prodIds as $productId) 
{
    $prod =  Mage::getModel('catalog/product')->load($productId);
    $product_detail[] = array(
        'url' => $prod->getProductUrl(),
        'name' => $prod->getName(),
        'image' => $this->helper('catalog/image')->init($prod, 'thumbnail')->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(75)
        );  array_push($prod_siblings,$product_detail[]);
}?>

希望这会帮助你。

于 2013-04-03T12:41:35.683 回答
0

知道了 !

在这里找到我的答案:如何在 Magento 中获取产品图像?

用过的(string)Mage::helper('catalog/image')->init($prod, 'thumbnail')...

代替$this->helper('catalog/image')->init($prod, 'thumbnail')...

于 2013-04-03T13:47:10.723 回答