Баг с 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. Подскажите что подправить что бы заработало?

4 ответа

  • 0
    Михаил Ушенин 23 июня 2014 09:01 #
    Похоже на ошибку в методе {$wa->shop->cart->items()}. Разработчики посмотрят, в чём там дело.
    Используйте пока массив {$cart.items}, если вам нужно редактировать шаблон cart.html.
  • 0
    dejavu 23 июня 2014 09:14 #
    Отвечу сам, цель этой выборки было отображение изображений в плавающей корзине.
    Дабы это работало необходимо в файле
    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'].')';
    }
    • 0
      Михаил Ушенин Михаил Ушенин 23 июня 2014 09:24 #
      Посмотрим, спасибо!
    • 0
      dejavu dejavu 4 августа 2014 07:13 #
      строка видоизменилась, в зависимости имеет ли товар один или несколько артикулов
      if ($sku['image_id']){
      $item['product']['image_id'] = $sku['image_id'];
      }

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите