База знаний
Bodysite.Help — единая база знаний и хаб поддержки по всем продуктам

Как выводить срок доставки через настройки темы Megashop 3

В теме дизайна Megashop 3.0 есть возможность вывести дату доставки товара.

Как это выглядит?

В каталоге:

На странице товара:

Как настроить?

В настройках оформления темы дизайна, в блоке "Прочие настройки магазина" есть поле для указания шаблона:

В выпадающем поле вы можете выбрать:

  • Не выводить
  • Выводить
  • Выводить только у товаров в наличии

Сам шаблон задаётся следующим образом: Можно указать любой текст до или после элемента @today+2@

Внутри @today+2@ формируется дата, путём прибавления количества дней к текущей дате. Можно

Примеры:

  • Доставим @today+2@
  • Можно забрать @today+2@ из магазина или доставим @today+3@

В шаблоне можно использовать Smarty или переменные из плагина SEO-регионы. Пример:

Доставим в {shopRegionsViewHelper::parseTemplate('{$region.name}')} до @today+{shopRegionsViewHelper::parseTemplate('{$region.field[1]}')}@

В данном случае вместо {shopRegionsViewHelper::parseTemplate('{$region.name}')} подставляется название региона из SEO-регионов

Вместо {shopRegionsViewHelper::parseTemplate('{$region.field[1]}')} подставляется содержимое дополнительного поля региона, в котором может быть например, срок доставки в днях для этого региона.

Как указать дату в зависимости от наличия на складе?

Начиная с версии темы 1.2.0 появилась возможность указывать срок доставки в зависимости от конкретного наличия на конкретном складе.

Пример конструкции, которую нужно указать в поле "Текст блока доставки":

{if $stocks['n2'] > 50}
    Доставка сегодня
{elseif $stocks['n1'] >= 20}
    Привезём @today+2@
{elseif $stocks['n3']> 1}
    Доставка @today+10@
{else}
    Доставка @today+15@
{/if}

Здесь вы видите конструкцию из условий, где $stocks['n2'] - указание конкретного склада. Вместо n2/n3/n1 нужно укзать id вашего склада, пример: $stocks['1'] / $stocks['2']. Если склад виртуальный, то добавить "v", пример: $stocks['v1'];

Пример:

У магазина есть следующие склады:

Если товар есть в "Магазине на Ленина", то его можно забрать сегодня.

Если товар есть на "Складе в Кольцово", то привезём завтра.

Если товар есть только у поставщиков "Юра" и "ИП Васюков", то привезём через 14 дней. Склады объедены в виртуальный склад "Предзаказ".

ID склада не отображается в интерфейсе Webasyst, его нужно посмотреть в ссылке кнопки "Редактировать":

Составляем конструкцию условий:

{if $stocks['1'] >= 1}
    Доступно сегодня!
{elseif $stocks['2'] >= 3}
    Привезём @today+1@
{elseif $stocks['v1'] > 10}
    Доставка @today+14@
{else}
    Доставка @today+14@
{/if}

Здесь мы указали ID наших складов (1 и 2), Id виртуального склада, состоящего из складов поставщиков (v1). И резервное условие, если, вдруг, наличие товара не подпадёт ни под одно из условий по складам.

Инструкция была полезна?
67% считают ответ полезным
Спасибо за обратную связь!
Чтобы добавить комментарий, войдите в личный кабинет
Для каких приложений предназначена тема дизайна Megashop 3.0?
Есть ли скидка на Megashop 3.0?
У меня сейчас Megashop 2.0, как мне перейти на тему Megashop 3.0?
Хочу внести изменения в код темы дизайна, какие риски это несёт?
Поддерживает ли тема дизайна функционал Premium версии Shop-script?
Почему могут не отображаться иконки оплаты, сравнения, избранного?
Как установить тему в приложении "Блог"?
Написать в техподдержку
В техническую поддержку входит:
  • Консультации по вопросам приобретения
  • Консультации по функционалу и возможностям
  • Выявление и решение проблем в работе функционала
В техническую поддержку не входит:
  • Настройка решения
  • Доработка под запросы клиента
  • Устранение багов в консультационной форме (без предоставления доступов к сайту)
Платная диагностика:
  • Диагностика сложных и неоднозначных проблем
  • Выявление конфликтов со сторонними решениями
  • Выявление конфликтов в вашей среде сервера
  • Приоритетный срок на обработку тикетов
  • Оплата только банковской картой