Cách lấy hình ảnh sản phẩm trẻ em trong Magento Cart


10

Tôi đang cố gắng để có được hình ảnh sản phẩm con của một sản phẩm có thể cấu hình được thêm vào giỏ hàng của khách hàng.

Ví dụ: nếu khách hàng thêm một đôi giày màu đỏ vào giỏ hàng, tôi muốn hiển thị màu đó trong giỏ hàng.

Tôi đã đặt "Hiển thị sản phẩm Thumbnail Itself"

Vấn đề là chức năng này từ một phần mở rộng mẫu màu

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

trong mẫu colorselectorplus/cart/item/default.phtml

findColorImage ($ _ item-> get SẢNtId (), $ product_base, 'color', 'image'); ?>

Vì lý do nào đó được gọi từ Helper / Data.php vì một số lý do, nó chỉ trả về hình ảnh Cơ sở cho sản phẩm và bỏ qua hình ảnh chính xác cho màu sắc.

Tôi đã thử thay đổi imageđể sử dụng thumbnailnhưng tôi không có bất kỳ niềm vui nào ...

Có nhà phát triển nào khác gặp phải vấn đề này với tiện ích mở rộng này và đã cố gắng khắc phục nó không?

Tôi không bận tâm ngay cả một sửa chữa nóng ngay bây giờ ...

Câu trả lời:


10

Goto admin>System>Configuration>Checkout>Shopping Cart>Configurable Product Imagelàm cho nó Product Thumbnail Itselflàm cho hình ảnh sản phẩm trẻ em Thay vì gửi

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

đối với sản phẩm có thể định cấu hình $ _Item> getSku cung cấp cho sản phẩm trẻ em một sản phẩm chính khác. Vì vậy, chỉ cần sản phẩm trẻ em sử dụng mục sku

Tôi đoán bạn đã sử dụng tiện ích mở rộng của bên thứ ba nên tôi đã thay đổi một số thay đổi theo thay đổi khái niệm của tôi

Bước 1 : thay vào đóof send product send all item object

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

đến

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

Bước2 : một số thay đổi về chức năng

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

Cảm ơn ý kiến ​​của bạn. Tôi đã đề cập trong bài đăng này rằng tôi đã sẵn sàng ...
user1704524

xin lỗi nhưng ý bạn không rõ lắm ???
user1704524
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.