고객이 장바구니에 추가 한 구성 가능한 제품의 하위 제품 이미지를 가져 오려고합니다.
예를 들어 고객이 장바구니에 빨간 신발 한 켤레를 추가 한 경우 장바구니에 해당 색상을 표시하고 싶습니다.
“제품 미리보기 이미지 자체 표시”를 설정했습니다
문제는 색상 견본 확장 에서이 기능입니다
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
기쁨이 없습니다 …
다른 개발자가이 확장으로이 문제를 발견하고 수정 했습니까?
지금은 핫픽스도 마음에 들지 않습니다 …
답변
고토 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;
}