마 젠토 카트에서 아동용 제품 이미지를 얻는 방법


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를 사용하는 어린이 제품

제 3 자 확장 프로그램을 사용 했으므로 개념 변경 에 따라 변경 사항이 있습니다.

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.