【问题标题】:magento same category products thumbnailsmagento 同类别产品缩略图
【发布时间】:2013-04-03 12:25:44
【问题描述】:

我有 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(存储在数组中),但它们都共享同一个图像(最后创建的产品的图像)。

【问题讨论】:

    标签: php magento thumbnails product


    【解决方案1】:

    尝试将产品详细信息存储在您的$prod_siblings 中的数组 n 中。这将如下所示:

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

    希望这会对你有所帮助。

    【讨论】:

    • 把 $product_detail = array() 代替 $product_detail[] = array() 和 array_push($prod_siblings,$product_detail);而不是 array_push($prod_siblings,$product_detail[]);try..
    • 我找到了解决办法,看看我的回答,谢谢你的帮助:)
    【解决方案2】:

    知道了!

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-25
      • 2014-07-26
      • 2014-04-06
      • 1970-01-01
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多