Полезные мелочи

Полезные мелочи

Syrnik Топ-разработчик #6 с 2014 года
4.9 (47 отзывов)4 100 установок
Бесплатно

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

Даты создания и изменения товара

В карточке товара в бэкенде, в правой колонке, показываются даты создания и последнего изменения товара. В настройках плагина показ можно отключить, а формат выбрать: только дата или дата со временем. Работает в классическом интерфейсе карточки товара (UI 1.3); в новом редакторе товара (UI 2.0) эта информация не выводится.

Срок доставки, который увидел клиент

При просмотре заказа в бэкенде менеджер видит расчётный срок доставки — тот же самый, что во время оформления заказа рассчитал и показал покупателю плагин расчёта стоимости доставки. Удобно, когда клиент спрашивает «а мне обещали доставку к пятнице» — не нужно поднимать переписку.

История правок товара

На карточке товара появляется вкладка с историей: кто и когда редактировал товар вручную. Импорт, синхронизация и другие автоматические изменения в эту историю не попадают — только действия менеджеров, выбранные из общей ленты событий магазина. Включается в настройках плагина. Как и даты выше, доступно только в классическом интерфейсе карточки товара (UI 1.3).

Информация о купоне по его ID

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

Вызов хелпера в шаблоне:

{$coupon_info = $wa->shop->tipsPlugin->getCouponById(4)}

где 4 — ID купона. Например, в печатной форме заказа ID использованного купона можно взять из переменной $order.params.coupon_id (учтите: купона в заказе может не быть вовсе, а найденный купон — быть к этому моменту удалён).

Возвращаемое значение. Если купон найден — массив:

code — код купона

type — тип скидки: % (скидка в процентах), трёхбуквенный код валюты (скидка на сумму в этой валюте) или $FS (бесплатная доставка)

limit — ограничение на количество использований, или NULL , если ограничений нет

used — сколько раз купон уже использован (если used достиг limit — купон неактивен)

comment — комментарий к купону

extire_datetime — дата, до которой купон действует, или NULL , если срок не ограничен

Пример для печатной формы заказа:

{if !empty($order.params.coupon_id)}

{$coupon_info = $wa->shop->tipsPlugin->getCouponById($order.params.coupon_id)}

{if $coupon_info}

Использован купон {$coupon_info['code']}

Один порядок для JS и CSS перед </body>

Когда на сайте работает сразу несколько плагинов, каждый из которых подключает свой скрипт где придётся — в шапке, в середине страницы, где получится — это и тормозит рендеринг, и превращает вывод в кашу. Плагин добавляет одну точку сборки: событие-хук tips_plugin_footer_js , через которое любой плагин может отдать свои скрипты и стили, и хелпер темы дизайна, который собирает всё это в одном месте прямо перед закрывающим тегом body — там, где загрузка скриптов не блокирует отрисовку страницы.

Эффект появляется, только если хук поддерживают обе стороны : плагин, чей код вы хотите упорядочить, и тема дизайна, которая вызывает хелпер сборки. Поддержку легко добавить в любой плагин и в любую тему — но сделать это должны их авторы (или вы сами, если умеете править код). Требуется Shop-Script 8.18 или новее.

Как это устроено, если вам это интересно как разработчику. Плагин, который хочет отдать свои скрипты, регистрирует обработчик хука в своём plugin.php :

'handlers' => array(

'tips_plugin_footer_js' => 'footerScripts'

и возвращает из обработчика массив со ссылками на внешние скрипты ( links ) и/или инлайновым JS и CSS ( inline_js , inline_css ):

public function footerScripts() {

return array(

'links' => array('/wa-apps/shop/plugins/myplugin/js/myscript.js'),

'inline_js' => '$(function(){ console.log("it works!"); });',

'inline_css' => 'p.myplugin { font-size: 1rem; }'

Тема дизайна один раз вызывает хелпер плагина перед и выводит то, что он вернул:

{$footer_js = $wa->shop->tipsPlugin->footer_js()}

Дальше плагин сам собирает ответы всех подключившихся плагинов в одном месте — с правильными тегами script и style , без дублей и в правильном порядке.

Владелец сайта: спросите у автора темы, поддерживает ли она этот хук — или попробуйте добавить вызов хелпера в шаблон самостоятельно

Владелец сайта: спросите у автора нужного вам плагина, поддерживает ли он этот хук — самостоятельно встраивать поддержку в чужой плагин не стоит

Разработчик темы или плагина: код обработчика занимает несколько строк — примеры выше

26 апреля 2017

« Добавьте информативности в свой интернет-магазин. »

Читайте обзор от Webasyst

Отзывы (9)

SRsuper-tara.ru
1 октября 2020 г.

Пользуюсь другими продуктами данного разработчика. Всегда все четко и на высшем уровне.

FRforcom.ru
9 сентября 2020 г.

Добавляет полезные мелочи!

GRgrandled.ru
7 сентября 2020 г.

Поддержка ЯТурбо

ИCИван Chers
7 апреля 2020 г.

Полезные мелочи)))

Все отзывы на Webasyst