Вывести ID товара+ ID артикула в корзине Есть решение
Добрый день.
Сразу скажу что бы не ругались )) я не программист но немного понимаю ))
Поставили задачу вывести в корзине id товара и id товара + артикул если таковой есть
Идентификатор товара ( если более 1 товара, то передается массивом ['123', '231', ...] )
у меня на сайте товары имеют такой вид
2х3м— 900 Р - (id-1086) т.к первый размер идет основной id
3x4м— 1 800 Р - (id-1086s1264) здесь уже артикул и подставляется id артикула s1264
3x5м— 2 250 Р
3x6м— 2 700 Р
в корзину я добавил 2 товара размером 2х3 и 3х4 метра
Я методом научного тыка )) состряпал такой код
{foreach $cart.items as $item}'{$item.product_id|escape}s{$item.sku_id|escape}',{/foreach}
У меня выводится вот так '1086s764','1086s1264',
т.е жесткая привязка id товара и артикула
но должно быть так как в фиде
'1086','1086s1264', и тд
как правильно прописать код что бы была проверка на наличие id артикула
вот кусок фида
<offer available="true" id="1086"> <url> **************** </url> <price>900.00</price> <currencyId>RUB</currencyId> <categoryId>633</categoryId> <picture> **************** </picture> <name>тент - 2х3м</name> <description> **************** </description> <sales_notes></sales_notes> </offer> <offer available="true" id="1086s1264"> <url> **************** </url> <price>1800.00</price> <currencyId>RUB</currencyId> <categoryId>633</categoryId> <picture> **************** </picture> <name>тент - 3х4м</name> <description> **************** </description> <sales_notes></sales_notes> </offer> <offer available="true" id="1086s1265"> <url> **************** </url> <price>2250.00</price> <currencyId>RUB</currencyId> <categoryId>633</categoryId> <picture> **************** </picture> <name>тент - 3х6м</name> <description> **************** </description> <sales_notes></sales_notes> </offer>
2 ответа
В данном движке не продаются товары. Всегда идёт продажа артикулов. Даже если у товара только один артикул, то всё-равно продаётся именно артикул, а не товар. Другими словами, у всех товаров в корзине есть sku_id. Соответственно, сделать проверку по наличию/отсутствию sku_id у товара в корзине у Вас не получится.
Но каждый товар имеет артикул, который выбран по-умолчанию. Скорее всего, у Вас этот товар первый с базовым артикулом, для которого нужно выводить только идентификатор товара без идентификатора артикула.
В свою очередь, в корзину для каждого item передаётся массив $item.product, в котором можно посмотреть, какой артикул для данного товара выбран по-умолчанию. Это даёт возможность сделать проверку, код которой приведён ниже. Я не тестировал код. Можете проверить у себя. По идее, должен сработать при условии, что артикул, для которого не нужно выводить код, выбран у товара по-умолчанию.
Спасибо большое то что нужно!