Magento Sepeti'nde çocuk ürün resmi nasıl alınır


10

Müşteri tarafından sepete eklenen yapılandırılabilir bir ürünün alt ürün resmini almaya çalışıyorum.

Örneğin, müşteri sepete bir çift kırmızı ayakkabı eklediyse, alışveriş sepetinde bu rengi göstermek istiyorum.

"Ürün küçük resmini göster" ayarladım

Sorun, bu işlev bir renk örneği uzantısından

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;
}

şablonda colorselectorplus/cart/item/default.phtml

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

Hangi nedenle Helper / Data.php'den çağrılırsa, yalnızca ürünün Temel görüntüsünü döndürür ve renk için doğru görüntüyü yok sayar.

Ben değiştirmeyi denedim imagekullanmak thumbnailama herhangi sevinç olmayacağım ...

Başka bir geliştirici bu uzantıyla bu sorunla karşılaştı ve düzeltmeyi başardı mı?

Şu anda bir düzeltmeyi bile umursamıyorum ...

Yanıtlar:


10

Git admin>System>Configuration>Checkout>Shopping Cart>Configurable Product Imagebunu Product Thumbnail Itselfyapmak için çocuk ürün imajı göndermek yerine

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

yapılandırılabilir ürün için $ _Item> getSku çocuk ürüne başka bir zaman vermek ana ürün vermek. yani sadece çocuk ürün kullanarak ürün sku

Sanırım üçüncü taraf uzantısını kullandınız, bu yüzden konsept değişikliğime göre bazı değişiklikleri değiştirdim

Adım 1 : Bunun yerineof send product send all item object

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

için

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

Adım 2 : Fonksiyonda bazı değişiklikler

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;
}

Yorumlarınız için teşekkürler. Ben bu yazıda evet için zaten olduğunu söyledi ...
user1704524

özür dilerim ama ne demek istediğini çok açık değil ???
user1704524
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.