QuickView + msOptionsPrice2
Доброго времени суток!
Реализовывал ли кто быстрый просмотр товаров через QuickView при наличии модификаций товара (msOptionsPrice2)? Не могу найти внятного описания как подружить эти два дополнения.
Использую режим работы с селектором, поскольку не удалось разобраться с ошибками при использовании режима работы с модальным окном (на сайте используется bootstrap v4.5.0).
Подключение в подвале:
Ниже вывожу каркас модального окна:
В превью карточки вешаю код на кнопку:
Чанк modalQV:
Проблематики у меня следующие:
1. При вызове быстрого просмотра в каталоге, не происходит обновление цены с учетом активной модификации. При этом если вручную сменить модификацию – обновление цены происходит.
2. На странице товара выводится блок с похожими товарами. Если товар, на котором находится пользователь, имеет модификации, то в быстром просмотре похожих товаров модификации не работают (не изменяется цена даже при ручном переключении модификации). Если на товаре нет модификаций, то в быстром просмотре похожих товаров модификации работают по аналогии со страницей каталога.
3. Модификации в быстром просмотре работают ограниченное время, а потом перестают. Когда я после посещения карточки товара перехожу в каталог, то модификации в быстром просмотре перестают работать. Помогает только чистка кеша.
Буду рад любым подсказкам.
Реализовывал ли кто быстрый просмотр товаров через QuickView при наличии модификаций товара (msOptionsPrice2)? Не могу найти внятного описания как подружить эти два дополнения.
Использую режим работы с селектором, поскольку не удалось разобраться с ошибками при использовании режима работы с модальным окном (на сайте используется bootstrap v4.5.0).
Подключение в подвале:
[[!QuickView.initialize?
&bootstrapModalJsCss=`0`
&bootstrapDialogJsCss=`0`
&services=`miniShop2,msoptionsprice`
]]
Ниже вывожу каркас модального окна:
<div class="modal fade" id="modalQuickView">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">x</span></button>
<div class="modal-body"></div>
</div>
</div>
</div>
В превью карточки вешаю код на кнопку:
<div class="product-action-2 tooltip-style-2">
<button class="quickview"
data-click
data-quickview-mode="selector"
data-data-action="chunk"
data-data-element="!modalQV"
data-data-id="[[+id]]"
data-quickview-output="#modalQuickView .modal-body"
data-toggle="modal"
data-target="#modalQuickView">
<i class="icon-size-fullscreen icons"></i>
</button>
</div>
Чанк modalQV:
[[!msOptionsPrice.initialize?]]
<h2>[*pagetitle]]</h2>
<div class="product-details-area bg-white" id="msProduct">
<form class="ms2_form msoptionsprice-product" method="post">
<div class="container">
<div class="row">
<div class="col-xl-4 col-lg-5 col-md-6">
[[!msGallery? &tpl=`tpl.productGalleryQuickView`]]
</div>
<div class="col-xl-8 col-lg-7 col-md-6">
<div class="product-details-content pro-details-content-mrg">
<input type="hidden" name="id" value="[[*id]]"/>
[[!msOptionsPrice.option?
&tpl=`tpl.productModifications.checkbox`
&options=`[[*parent:pdofield=`productModOptionList`:replace=`||==,`]]`
&constraintOptions=`[[*parent:pdofield=`productModOptionList`:productModOptionConstraint]]`
&sortOptions=`productSize:SORT_ASC:SORT_NUMERIC, productLengthMetr:SORT_ASC:SORT_NUMERIC`
]]
<div class="pro-details-price">
<span class="new-price">
<span class="msoptionsprice-cost msoptionsprice-[[*id]] new-price ml-0">[[+price]]</span>
[[%ms2_frontend_currency]][[*parent:is=`73`:then=`/м.п.`]]
</span>
[[!+old_price:gt=`[[+price]]`:then=`
<span class="old-price">
<span class="msoptionsprice-old-cost msoptionsprice-[[*id]] old-price ml-0">[[+old_price]]</span>
[[%ms2_frontend_currency]][[*parent:is=`73`:then=`/м.п.`]]
</span>
`]]
</div>
<div class="pro-details-action-wrap">
<div class="pro-details-quality mr-15 mr-md-2- mr-lg-5-">
<div class="cart-plus-minus fix">
<input class="cart-plus-minus-box" type="text" name="count" id="product_price" value="1">
</div>
</div>
<div class="pro-details-add-to-cart">
<button type="submit" name="ms2_action" value="cart/add" class="anim_fly_btn">Купить</button>
</div>
<div class="pro-details-action d-none d-md-block">
<button type="button" class="" onclick="location.href='[[~[[*id]]]]';">Подробнее о товаре</button>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
Проблематики у меня следующие:
1. При вызове быстрого просмотра в каталоге, не происходит обновление цены с учетом активной модификации. При этом если вручную сменить модификацию – обновление цены происходит.
2. На странице товара выводится блок с похожими товарами. Если товар, на котором находится пользователь, имеет модификации, то в быстром просмотре похожих товаров модификации не работают (не изменяется цена даже при ручном переключении модификации). Если на товаре нет модификаций, то в быстром просмотре похожих товаров модификации работают по аналогии со страницей каталога.
3. Модификации в быстром просмотре работают ограниченное время, а потом перестают. Когда я после посещения карточки товара перехожу в каталог, то модификации в быстром просмотре перестают работать. Помогает только чистка кеша.
Буду рад любым подсказкам.
Комментарии: 5
Есть мнение, что проблема в JS. Я бы смотрел ошибки в консоли браузера для начала.
В консоли нет ошибок. В логи тоже ничего не падает.
Хорошо, что ошибок нет, а нужные события на нужных элементах висят?
Не совсем понимаю о чем речь.
1. При вызове быстрого просмотра в каталоге, не происходит обновление цены с учетом активной модификации. При этом если вручную сменить модификацию – обновление цены происходит.
Чтобы это происходило, нужно отправлять запрос с выбранными опциями, а иначе msOptionsPrice2 просто не узнает о том, что ты используешь QuickView.А два других пункта связаны с тем, что msOptionsPrice2 просто не рассчитан на работу с несколькими товарами. Думаю, нужно дорабатывать JS.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.