Shop-Script 12: кнопка «Забрать в магазине» в вашей теме дизайна

Михаил Ушенин

В настройках точек продаж Shop-Script (доступны начиная с версии 12.0) можно включить параметр «Забрать в магазине» — в этом случае покупатель может с помощью отдельной кнопки быстро оформить покупку одного товара, не проходя обычный процесс создания заказа, а введя свои данные во всплывающем диалоге прямо на текущей странице.

Добавьте эту возможность в вашу тему дизайна с помощью новых методов Smarty.

{$wa->shop->countPickupLocations()}

Возвращает количество точек продаж, в настройках которых для текущей витрины включено «Забрать в магазине».

Если метод возвращает 0, то показывать кнопку «Забрать в магазине» не нужно — она не будет работать.

{$wa->shop->getPickupButton($product, $class = '', $title = '')}

Возвращает HTML- и JavaScript-код для показа кнопки «Забрать в магазине» и всплывающего диалога при нажатии на неё.

При вызове метода в него нужно передать массив со свойствами товара и (необязательно) строку с именами собственных CSS-классов, с помощью которых нужно стилизовать оформление кнопки, — если вам удобнее использовать их вместо стандартных классов.

Можно также передать 3-м аргументом текст надписи, которая должна отображаться на кнопке вместо стандартного «Забрать в магазине».

Пример кода

Проверка наличия доступных точек продаж + отображение кнопки на витрине:

{if $wa->shop->countPickupLocations() > 0}
    {$wa->shop->getPickupButton($product)}
{/if}

Шаблон диалога для выбора точки продаж

Диалог, который всплывает поверх витрины при нажатии на кнопку «Забрать в магазине», по умолчанию формируется стандартным шаблоном wa-apps/shop/templates/actions/channels/pickup.include.html.

Если вам нужно использовать собственное оформление диалога, то добавьте в свою тему дизайна файл pickup.html с другим содержимым шаблона — он будет использоваться вместо стандартного.

Доступно на GitHub

Мы уже выгрузили ознакомительную версию Shop-Script 12 на GitHub — обновитесь, посмотрите, как это работает в стандартной теме, и заранее подготовьте свои темы дизайна к общедоступному обновлению Shop-Script.

23 января 2026
  • Djek26 14 февраля 2026 13:30

    Добрый день, подскажите а если этот вариант: Если метод возвращает <code>0</code>, то показывать кнопку «Забрать в магазине» не нужно — она не будет работать. Как решить?

  • ASPIRE 14 февраля 2026 16:33

    Добрый день, а как отключить css готовый?

  • Виктор 15 февраля 2026 13:27

    Вызов {$wa->shop->getPickupButton($product, $class = '', $title = '')} выдает ошибку синтаксиса:

    Syntax Error in template " .... {$wa->shop->getPickupButton($product, $class = &#039;&#039;, $title = &#039;&#039;)}" - Unexpected " = ", expected one of: "","" , ")" code 0

    Вено будет {$wa->shop->getPickupButton($product, 'class', 'title')}



Чтобы добавить комментарий, зарегистрируйтесь или войдите