Шаблоны и оформление
Обновлено
Какие шаблоны можно заменить
Скопируйте нужный исходный шаблон из wa-apps/shop/plugins/ewshopmpcart/templates/actions/frontend/ в корень активной темы Shop-Script под указанным именем. Изменяйте копию в теме.
| Исходный шаблон | Имя файла в теме | Что выводит |
|---|---|---|
Checkbox.html |
ewshopmpcart_plugin.checkbox.html |
Чекбокс у товарной строки рабочей корзины. |
Panel.html |
ewshopmpcart_plugin.panel.html |
Счётчик выбора и действие «Выбрать все» / «Снять все». |
Excluded.html |
ewshopmpcart_plugin.excluded.html |
Блок «Не пойдёт в заказ» или «Недоступны к заказу». |
Product.html |
ewshopmpcart_plugin.product.html |
Одна строка товара внутри блока вне заказа. |
Вы можете заменить только нужные части; остальные продолжат использовать штатные шаблоны плагина.
Разные шаблоны для режимов оформления
Для любого из четырёх имён поддерживаются суффиксы .cart.html и .order.html:
ewshopmpcart_plugin.product.cart.html — пошаговая корзина
ewshopmpcart_plugin.product.order.html — одностраничное оформление
ewshopmpcart_plugin.product.html — общий шаблонПорядок выбора: файл для текущего режима в теме → общий файл в теме → исходный шаблон плагина. Суффиксы так же работают для checkbox, panel и excluded.
В шаблоны передаётся $checkout_version: 1 для пошаговой корзины и 2 для одностраничного оформления.
Переменные шаблонов
| Шаблон | Переменные |
|---|---|
Checkbox.html |
$product_id, $sku_id, $checkout_version. |
Panel.html |
$selected_count — число выбранных позиций; $selectable_total — выбранные плюс отложенные, без недоступных; $can_select_all — есть отложенные для возврата; $blocked — нечего снимать, осталась не более одной позиции; $checkout_version. |
Excluded.html |
$mode (unchecked или unavailable), $block_id, $items — строки с готовым HTML в ключе html, $show_delete, $checkout_version. |
Product.html |
$item — запись с product_id, sku_id, reason, created; $snapshot — данные для показа; $mode, $show_delete, $checkout_version. |
В $snapshot доступны name, sku_name, sku_code, price, currency, quantity, image_url, url. Количество сохранено при исключении, остальные данные получены из каталога при отрисовке. В штатном шаблоне сумма строки выводится в валюте витрины через shop_currency_html().
Обязательная разметка
JavaScript находит элементы по классам и атрибутам. Сохраняйте их при изменении оформления.
Чекбокс товара
Нужны обёртка js-ewmpcart-cbbox и отмеченный input[type="checkbox"] с классом js-ewmpcart-item, data-product-id и data-sku-id. На обёртке плагин показывает подсказку о последней позиции.
Минимальный пример содержимого ewshopmpcart_plugin.checkbox.html:
<label class="js-ewmpcart-cbbox">
<input type="checkbox" class="js-ewmpcart-item" checked
data-product-id="{$product_id}"
data-sku-id="{$sku_id}">
<span></span>
</label>Пример содержит классы для работы JavaScript. Оформление такой копии задайте в теме самостоятельно.
Панель выбора
Сохраните корневой id="ewmpcart-panel", счётчик js-ewmpcart-count и действие js-ewmpcart-action. Учитывайте $blocked для недоступного действия и $can_select_all для выбора подписи.
Блок вне заказа
Сохраните:
- корневой
id="{$block_id}":ewmpcart-uncheckedилиewmpcart-unavailable; - контейнер строк с классами
wa-products ewmpcart-excluded-products; - класс
js-ewmpcart-delete-allу действия «Удалить все»; - класс
js-ewmpcart-delete-selectedу действия «Удалить выбранные» в режимеunavailable.
Действия удаления выводите только при $show_delete. Строки уже отрисованы: штатный шаблон перебирает $items и выводит $_item.html nofilter.
Строка товара вне заказа
Корневому элементу нужны класс wa-product и атрибуты data-product-id="{$item.product_id}", data-sku-id="{$item.sku_id}".
В режиме unchecked сохраните чекбокс input.js-ewmpcart-restore для возврата и, при $show_delete, ссылку a.js-ewmpcart-row-delete для удаления. В режиме unavailable при $show_delete нужен чекбокс input.js-ewmpcart-delete для выбора на удаление. Чекбоксам также передавайте идентификаторы товара и артикула в data-атрибутах.
CSS и раскладка
Штатные CSS-классы ewmpcart-* отвечают за оформление; классы js-ewmpcart-* служат для работы JavaScript. Сохраняйте обязательные классы и атрибуты независимо от выбранного дизайна.
В пошаговой корзине штатный Excluded.html добавляет ewmpcart-standalone для собственной раскладки строк. Если тема использует оформление плагина, сохраняйте этот класс для соответствующего режима.
Если тема полностью берёт оформление на себя, выключите «Подключать оформление плагина». Понадобятся собственные правила для чекбоксов, отступов, подсказки и затемнения на время запроса. Проверьте обе версии оформления, если они используются на ваших витринах.