Cara mendapatkan gambar produk anak di Magento Cart

10

Saya mencoba untuk mendapatkan gambar produk anak dari produk yang dapat dikonfigurasi yang ditambahkan ke troli oleh pelanggan.

Misalnya, jika pelanggan menambahkan sepasang sepatu merah ke troli, saya ingin menunjukkan warna itu di troli belanja.

Saya telah menetapkan "Tampilkan gambar kecil Produk Sendiri"

Masalahnya adalah fungsi ini dari ekstensi carikan warna

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

dalam templat colorselectorplus/cart/item/default.phtml

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

Yang dipanggil dari Helper / Data.php karena alasan tertentu hanya mengembalikan gambar Base untuk produk dan mengabaikan gambar yang benar untuk warna.

Saya sudah mencoba mengubah imageuntuk menggunakan thumbnailtetapi saya tidak memiliki kegembiraan ...

Apakah ada pengembang lain menemukan masalah ini dengan ekstensi ini dan berhasil memperbaikinya?

Saya tidak keberatan bahkan perbaikan panas sekarang ...

pengguna1704524
sumber

Jawaban:

10

Goto admin>System>Configuration>Checkout>Shopping Cart>Configurable Product Imagemembuatnya Product Thumbnail Itselfini membuat gambar produk anak Alih-alih mengirim

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

untuk produk yang dapat dikonfigurasi $ _Item> getSku berikan produk anak lain kali berikan produk utama. jadi hanya produk anak menggunakan item sku

Saya kira Anda telah menggunakan ekstensi pihak ketiga jadi saya harus mengubah beberapa perubahan sesuai dengan perubahan konsep saya

Langkah1 : sebagai gantinyaof send product send all item object

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

untuk

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

Step2 : beberapa perubahan pada fungsi

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;
}
Amit Bera
sumber
Terima kasih atas komentar Anda. Saya telah menyebutkan dalam posting ini bahwa saya sudah memiliki itu untuk ya ...
user1704524
permintaan maaf tapi tidak jelas apa maksudmu ???
user1704524