Дарим чек-лист по подготовке к сезону продаж за подписку на наш телеграм Получить
База знаний
Bodysite.Help — единая база знаний и хаб поддержки по всем продуктам

Интеграция плагина "Ближайший срок доставки" в тему дизайна

Внимание! Данная инструкция не нужна владельцам Megashop 3.0 и Megaopt 1.0. В данные темы плагины уже встроен, интеграция не требуется.

Плагин требует интеграции в тему дизайна. Для отображения информации о сроке доставки нужно внедрить  в шаблоны темы специальный код ("Хелпер"). Для этого нужно понять что именно интегрировать и куда.

Что нужно интегрировать?

Общий хелпер для каталога (категорий, списков) выглядит так:

{shopEstdeliveryViewHelper::renderAllPlaceholders($p.sku_id)|join:''}

Для страницы товара:

{shopEstdeliveryViewHelper::renderAllPlaceholders($product.sku_id, true)|join:''}

Эти хелперы способны вывести все профили, созданные в плагине, если их несколько.

Если нужно вывести один конкретный профиль, то внутри него есть персональный хелпер вывода именно этого профиля, например:

Для каталога

{shopEstdeliveryViewHelper::renderPlaceholder(1, $p.sku_id)}

Для страницы товара:

{shopEstdeliveryViewHelper::renderPlaceholder(1, $product.sku_id, true)}

Куда это вставлять?

Нужно найти место в шаблонах вашей темы дизайна, отвечающее за вывод тех или иных элементов. Например, если вы хотите вывести плагин над кнопкой "Купить", то нужно найти в шаблонах где именно выводится эта кнопка.

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

Если вы обновите тему дизайна, то, вероятно, интеграцию нужно будет сделать повторно. Чтобы этого не делать каждый раз, попросите разработчика вашей темы интегрировать плагин в последующих обновлениях.

Пример интеграции для темы дизайна Balance

Есть задача вывести срок доставки в этом месте карточек в каталоге:

Для этого смотрим, какие стили отвечают за элементы рядом с этим местом. Для этого открываем "Инструменты разработчика в браузере" и запоминаем какие названия стилей у элементов:

Из данной картинки понятно, что нам нужно добавить где-то после элемента со стилями stock-info stock item-c__stock-info

Просматривая шаблоны темы, находим, что этот элемент находится в шаблоне list-thumbs.html:

Добавляем хелпер с безопасной проверкой сразу после него:

{if method_exists('shopEstdeliveryViewHelper', 'renderAllPlaceholders')}
    {shopEstdeliveryViewHelper::renderAllPlaceholders($p.sku_id)|join:''}
{/if}

Вот что получилось:

Сохраняем и проверяем отображение на сайте:

Ура, вывод появился. Внешний вид можно поправить стилизацией. В теме Balance это можно сделать в файле css/user.css

Например, добавим отступ, для этого в конец файла добавим:

.shop-estdelivery-plugin-placeholder {
    display: block;
    margin-bottom: 12px;
}

На странице товара можно вывести после элемента pd-cart__save в шаблоне product.cart.html

Добавляем хелпер для страницы товара: 

{if method_exists('shopEstdeliveryViewHelper', 'renderAllPlaceholders')}
     {shopEstdeliveryViewHelper::renderAllPlaceholders($product.sku_id, true)|join:''}
{/if} 

Что получилось:

Инструкция была полезна?
69% считают ответ полезным
Спасибо за обратную связь!
Чтобы добавить комментарий, войдите в личный кабинет
Как правильно обращаться в техподдержку?
Не работает решение, что делать?
Не применяются настройки плагина, почему?
Куда пропали лицензии?
Как интегрировать плагин в мою тему дизайна
Купил плагин, как активировать лицензию?
Как можно получить скидку?
Есть ли тестовый период за продукт
Слетела лицензия что делать?
Не могу настроить CRON, что делать?
Написать в техподдержку
В техническую поддержку входит:
  • Консультации по вопросам приобретения
  • Консультации по функционалу и возможностям
  • Выявление и решение проблем в работе функционала
В техническую поддержку не входит:
  • Настройка решения
  • Доработка под запросы клиента
  • Устранение багов в консультационной форме (без предоставления доступов к сайту)
Платная диагностика:
  • Диагностика сложных и неоднозначных проблем
  • Выявление конфликтов со сторонними решениями
  • Выявление конфликтов в вашей среде сервера
  • Приоритетный срок на обработку тикетов
  • Оплата только банковской картой