Баг с image_id в корзине
Здраствуйте, на странице cart.html если запросить массив items то у одного и того же артикула, product разнятся image_id. При этом $cart.items показывает правильный image_id а $cart_items отображает один и тот же image_id для всех product_id не зависимо от артикула.
Из-за этого нельзя вывести правильное изображение артикула, вместо этого отображается основное изображение
{$cart_items=$wa->shop->cart->items()}
{print_r($cart_items)}
{print_r($cart.items)}
пример вывода {$wa->shop->productImgHtml($item.product, '48x48')}
{print_r($cart_items)} выводит:
img src="/wa-data/public/shop/products/43/00/43/images/23/23.48x48.jpg"
img src="/wa-data/public/shop/products/43/00/43/images/23/23.48x48.jpg"
img src="/wa-data/public/shop/products/43/00/43/images/23/23.48x48.jpg"
{print_r($cart.items)} выводит:
img src="/wa-data/public/shop/products/43/00/43/images/23/23.48x48.jpg"
img src="/wa-data/public/shop/products/43/00/43/images/24/24.48x48.jpg"
img src="/wa-data/public/shop/products/43/00/43/images/25/25.48x48.jpg"
P.S. Подскажите что подправить что бы заработало?
Из-за этого нельзя вывести правильное изображение артикула, вместо этого отображается основное изображение
{$cart_items=$wa->shop->cart->items()}
{print_r($cart_items)}
{print_r($cart.items)}
пример вывода {$wa->shop->productImgHtml($item.product, '48x48')}
{print_r($cart_items)} выводит:
img src="/wa-data/public/shop/products/43/00/43/images/23/23.48x48.jpg"
img src="/wa-data/public/shop/products/43/00/43/images/23/23.48x48.jpg"
img src="/wa-data/public/shop/products/43/00/43/images/23/23.48x48.jpg"
{print_r($cart.items)} выводит:
img src="/wa-data/public/shop/products/43/00/43/images/23/23.48x48.jpg"
img src="/wa-data/public/shop/products/43/00/43/images/24/24.48x48.jpg"
img src="/wa-data/public/shop/products/43/00/43/images/25/25.48x48.jpg"
P.S. Подскажите что подправить что бы заработало?
4 ответа
Используйте пока массив {$cart.items}, если вам нужно редактировать шаблон cart.html.
Дабы это работало необходимо в файле
wa-apps\shop\lib\model\shopCartItems.model.php
добавить в public function getByCode строку 215-й
$item['product']['image_id'] = $sku['image_id'];
Общий вид
$sku = $skus[$item['sku_id']];
$item['sku_code'] = $sku['sku'];
$item['purchase_price'] = $sku['purchase_price'];
$item['sku_name'] = $sku['name'];
$item['currency'] = $item['product']['currency'];
$item['price'] = $sku['price'];
$item['name'] = $item['product']['name'];
$item['product']['image_id'] = $sku['image_id']; /* добавленная строка */
if ($item['sku_name']) {
$item['name'] .= ' ('.$item['sku_name'].')';
}
if ($sku['image_id']){
$item['product']['image_id'] = $sku['image_id'];
}