magento同类产品缩略图

时间:2013-04-03 12:25:45

标签: php magento thumbnails product

我在同一个分类中有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有自己的名称和网址(存储在数组中),但它们都共享相同的图像(最后创建的产品的图像)。

2 个答案:

答案 0 :(得分:0)

尝试在$prod_siblings的数组n den整个数组中存储产品详细信息。这将是这样的:

?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[]);
}?>

希望这会对你有所帮助。

答案 1 :(得分:0)

知道了!

在这里找到了答案:How to get a product's image in Magento?

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

而不是$this->helper('catalog/image')->init($prod, 'thumbnail')...