如何在Magento购物车中获得儿童产品图片


10

我正在尝试获取由客户添加到购物车的可配置产品的子产品图像。

例如,如果客户在购物车中添加了一双红鞋,我想在购物车中显示该颜色。

我已经设置了“显示产品缩略图本身”

问题是颜色样本扩展中的此功能

public function findColorImage($value, $arr, $key, $type)
{
    $found = '';
    if(isset($arr[$key])) {
        $total = count($arr[$key]);
        if($total>0)
        {
            for($i=0; $i<$total;$i++)
            {
                if($value == ucwords($arr[$key][$i]))//if it matches the color listed in the attribute
                {
                    $found = $arr[$type][$i];//return the image src
                }
            }
        }
    }
    if ($found == '') {
        if (isset($arr['image'])){
            $found = $arr['image'][0];
        }
    }
    return $found;
}

在模板中 colorselectorplus/cart/item/default.phtml

findColorImage($ _ item-> getProductId(),$ product_base,'color','image'); ?>

由于某种原因而从Helper / Data.php调用它,它仅返回产品的基本图像,而忽略正确的颜色图像。

我已经尝试过更改image使用,thumbnail但是我没有任何快乐...

是否还有其他开发人员遇到了此扩展的问题并设法解决了该问题?

我什至不介意即时修复...

Answers:


10

转到admin>System>Configuration>Checkout>Shopping Cart>Configurable Product Image使其Product Thumbnail Itself成为子产品图片,而不是发送

$_item->getProductId()
send $_item
and put somelogic
$_item

对于可配置产品$ _Item> getSku再给子产品给主产品。所以只是使用产品SKU的子产品

我想您已经使用了第三方扩展,所以我根据我的概念 更改做了一些更改

步骤1:相反of send product send all item object

findColorImage($_item->getProductId(),$product_base,'color', 'image');

findColorImage($_item,$product_base,'color', 'image'); 

步骤2:对功能进行一些更改

public function findColorImage($item, $arr, $key, $type)
{
    /* $value  set here*/
    $value=$item->getProductId();

    $found = '';
    if(isset($arr[$key])) {
        $total = count($arr[$key]);
        if($total>0)
        {
            for($i=0; $i<$total;$i++)
            {
                if($value == ucwords($arr[$key][$i]))//if it matches the color listed in the attribute
                {
                    $found = $arr[$type][$i];//return the image src
                }
            }
        }
    }

    if ($found == '') {
        if (isset($arr['image'])){
            $found = $arr['image'][0];
        }
    }
    /*  for configurable product send child product image */
    if($item->getProductTypeId="configurable"){
        $ChildProduct=Mage::getModel('catalog/product')->loadByAttribute('sku',$item->getSku());
        $found=Mage::helper('catalog/image')->init($ChildProduct, 'thumbnail');

    }
    return $found;
}

感谢您的评论。我已经在这篇文章中提到,我已经同意了
user1704524 2014年

道歉,但不清楚您的意思吗???
user1704524 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.