วิธีรับภาพผลิตภัณฑ์สำหรับเด็กใน Magento Cart


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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.