Опции товара в корзине
Здравствуйте!
Знает кто можно ли и как вывести опции товара в саму корзину к msCart?
Знает кто можно ли и как вывести опции товара в саму корзину к msCart?
Комментарии: 15
Доставать поле по id ресурса:
{$product.id | resource : 'introtext'}
Кхм… Я имею вводу ProduktsOptions пытался так выводить, но к сожалению не выводит.
[[msProductOptions?
&tpl=`tpl.msProductOptions`
&product=`[[+id]]`
]]
А причём здесь описание товара и его опции? Сформулируйте более понятно задачу.
Немного ошибся. Тему поменял, подскажете?
В стандартном чанке выводятся так:
{if $product.options?}
<div class="small">
{$product.options | join : '; '}
</div>
{/if}
Странно но не стандартным чанком ни кастомным опции не появляются, хотя они есть и показываются в каталоге.
Как минимум выбранные опции должны передаваться в корзину через скрытое поле, что работает в стандартных чанках минишопа. Приводите чанки полностью, где выводятся опции, как передаются, чанк корзины и т.д. Гадать что у вас не так можно долго.
Вызов
[[msCart?
&tpl=`msCart`
]]
Вывод опций{if $product.id?}
<div class="cart-item__element cart-item__element_desc" data-name-title="Наименование/ характеристики">
<div class="element-desc-wrap"><a class="cart-item__title" href="{$product.id | url}">{$product.pagetitle}</a>
</div>
{if $product.options?}
<div class="small">
{$product.options | join : '; '}
</div>
{/if}
</div>
{else}
<div class="cart-item__element cart-item__element_desc" data-name-title="Наименование/ характеристики">
<div class="element-desc-wrap">
<a class="cart-item__title" href="{$product.id | url}">{$product.name}</a>
{if $product.options?}
<div class="small">
{$product.options | join : '; '}
</div>
{/if}
</div>
</div>
{/if}
Нужен чанк откуда передаются опции, страница товара, или вывод в каталоге и т.п. И корзину лучше вызывать некешируемым сниппетом.
А почему лучше не кешируемый?
Чанк вывода карточки товара, отображение опций.
Чанк вывода карточки товара, отображение опций.
<div class="product-list-block__char">
[[msProductOptions?
&tpl=`msProductOptions`
&product=`[[+id]]`
]]
</div>
Почитать про вызовы можно например тут — Вызов кешируемых и некешируемых сниппетов в примерах.
Чанк вывода карточки товара, отображение опций.Нужен полный чанк, вместе с тегом form и т.п. Есть подозрение что опции просто не отправляются в корзину.
<div class="ms2_product product-list-block__item">
<div class="product-list-block__img">
<div class="object-fit-normal object-fit-normal_contain">
<div class="object-fit-normal__wrapper">
{if $thumb?}
<img class="object-fit-normal__img js-object-fit" src="{$image}" alt="{$pagetitle}" role="presentation" />
{else}
<img src="/assets/images/favicon/favicon_countrynet-01.png"
class="object-fit-normal__img js-object-fit" alt="{$pagetitle}" title="{$pagetitle}"/>
{/if}
</div>
</div>
</div>
<form method="post" class="ms2_form product-list-block__params">
<input type="hidden" name="id" value="{$id}">
<input type="hidden" name="count" value="1">
<input type="hidden" name="options" value="[]">
<div class="product-list-block__title">{$pagetitle}</div>
<div class="product-list-block__char">
[[msProductOptions?
&tpl=`msProductOptions`
&product=`[[+id]]`
]]
</div>
<div class="product-list-block__price">{$price} руб.</div>
<div class="product-list-block__to-cart js-no-ajax">
<a class="product-list-block__go" href="http://countrynet.ru/{$id | url}">Перейти к товару</a>
<button class="product-list-block__cart icon-cart" type="submit" name="ms2_action" value="cart/add"></button>
</div>
</form>
</div>
Судя по чанку всё должно передаваться и работать.
Надо уже разбираться в вашем конкретном случае, хотя это всё весьма странно. И покажите ещё на всякий случай чанк — msProductOptions. Также попробуйте вызвать msCart с пустым tpl, и посмотреть какие поля приходят в товар.
Надо уже разбираться в вашем конкретном случае, хотя это всё весьма странно. И покажите ещё на всякий случай чанк — msProductOptions. Также попробуйте вызвать msCart с пустым tpl, и посмотреть какие поля приходят в товар.
{foreach $options as $option}
<div class="card__param">
<b>{$option.caption}:</b>
{if $option.value is array}
{$option.value | join : ', '}
{else}
{$option.value}
{/if}
</div>
{/foreach}
Если пробовать выводить так:
[[msProductOptions?
&product=`[[+id]]`
]]
Пишет «The resource with id = is not instance of msProduct.»
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.