Как получить имя изображения артикула Есть решение

Добрый день!

В плагине необходимо получить имя файла с изображением артикула товара в корзине. Есть товар с несколькими артикулами, для каждого из них есть своё изображение.

Начало:

foreach($items as $item)
        {
            $product = new shopProduct($item['product_id']);            
			if($product['image_id'] != NULL)
            {
                $image_url = shopImage::getUrl(array('product_id' => $product['id'], 'id' => $product['image_id'], 'filename' => $product['image_filename'], 'ext' => $product['ext']),'60x60');  
            }

Что нужно подгрузить в filename вместо $product['image_filename']?

$product['image_filename'] или $product['images'][$product['image_id']]['filename'] - так получаем имя главного изображения товара

$product['skus'][$item['sku_id']]['id'] - так мы получаем id артикула товара


Я перелопатил документацию, пытался найти в поиске, копался в файлах движка... безрезультатно

2 ответа

  • 2
    Александр Партнер-разработчик 11 июля 2016 12:23 # Решение
    {$item_image_id = $product.skus[$item.sku_id].image_id|default:$product.image_id}
    {$item_image_filename = $product.images[$item_image_id].filename}
    • +1
      Worker Worker 11 июля 2016 21:09 #

      Большое спасибо! Воспользовавшись кодом выше, сделал так:

      foreach($items as $item)
              {
                $product = new shopProduct($item['product_id']);                                
                if($product['image_id'] != NULL)
                  {
                    $image_filename_var = $product['images'][$product['skus'][$item['sku_id']]['image_id']]['filename'];
                    $image_id_var = $product['skus'][$item['sku_id']]['image_id'];
                    if ($image_filename_var)
                      {
                        $image_filename = $image_filename_var;
                        $image_id = $image_id_var;
                      }
                    else
                      {
                        $image_filename = $product['image_filename'];
                        $image_id = $product['image_id'];
                      }
                    $image_url = shopImage::getUrl(array('product_id' => $product['id'], 'id' => $image_id, 'filename' => $image_filename, 'ext' => $product['ext']),'60x60');                              
                  }
      ...
  • 1

    Подскажите друзья, как привязать картинку к определенному артикулу?

    что тоо не получается, так выводит сразу все картинки,

    {foreach $product.skus as $sku}

    {$wa->shop->productImgHtml(['id'=> $product.id, 'image_id' => $sku.image_id, 'ext' => $product.images[$sku.image_id].ext, 'image_desc' => $sku.image_id], $settings.PRODUCT_IMAGE_ID)}

    {/foreach}


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

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