Як отримати зображення дитячого продукту в кошику 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але не маю ніякої радості ...

Чи стикався якийсь інший розробник з цією проблемою із цим розширенням і встиг виправити це?

Я б не проти навіть гарячої виправлення прямо зараз ...

Відповіді:


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

вибачте, але не зовсім зрозуміло, що ви маєте на увазі
user1704524
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.