Системные события - TSVshop - модуль интернет-магазина для MODx
Опубликовано: 01.09.2018
Срабатывает при обновлении статуса заказа. Это относится и к изменению статуса заказа менеджером вручную, и к изменению статуса в результате оплаты любым из методов оплаты.
Принимает массив с данными: idorder - номер заказа, newstatus - новый статус.
Ничего не возвращает.
Срабатывает сразу после добавления товара в корзину. Это полезно для модификации данных добавленного товара: можно изменить его количество, стоимость, название и т.д.
До версии 5.0 принимает массив с данными о добавленном товаре: $_SESSION[$session]['orders'][$id]
С версии 5.0.1 принимает порядковый номер добавляемого товара (вместо массива) в переменную $item, далее по $item можно получить нужные данные о товаре с помощью массива $_SESSION[$session]['orders'][$item]
С версии 5.0.1 возвращает текст сообщения , который будет выводиться во всплывающем окне (при добавлении товара), заменяя стандартный текст. В этом случае плагин должен возвращать текст сообщения таким образом: $e->output('текст сообщения');
Срабатывает в момент удаления товара из корзины. Это полезно для совершения каких-либо дополнительных действий в момент удаления. Например, это событие используется в плагине TSVshop_inventory для учета товаров на складе (снимает резерв товара).
Принимает порядковый номер удаляемого товара (вместо массива) в переменную $item, далее по $item можно получить нужные данные о товаре с помощью массива $_SESSION[$session]['orders'][$item]
Ничего не возвращает.
Будет доступно с версии 5.0.1
Срабатывает в момент изменения количества единиц конкретного товара в корзине. Полезно, когда нужно сделать какую-то операцию в момент изменения кол-ва товара (для скидок, статистики и т.д.) Например, это событие используется в плагине TSVshop_inventory для учета товаров на складе (изменяет количество товара в резерве).
Принимает порядковый номер товара, кол-во которого меняется - в переменную $item и новое количество товара в переменную $qty, далее по $item можно получить нужные данные о товаре с помощью массива $_SESSION[$session]['orders'][$item]
Ничего не возвращает.
Будет доступно с версии 5.2 rc2
Срабатывает в момент очистки корзины. Переменная сессии $_SESSION[$session] с заказами еще существует, поэтому с ней еще можно произвести необходимые действия. Например, это событие используется в плагине TSVshop_inventory для учета товаров на складе (снимает резерв с товаров, которые удаляются).
Ничего не принимаеи и не возвращает.
Будет доступно с версии 5.2 rc2
Срабатывает непосредственно перед началом обработки формы оформления заказа (чанк Shop_UserForm), который, в свою очередь, используется сниппетом eForm. Можно использовать, напр., для выполнения каких-либо действий с корзиной до начала обработки чанка.
Принимает переменную tpl, содержащую код чанка Shop_Checkout.
Возвращает обработанный (плагином) код чанка.
Срабатывает в момент обработки чанка Shop_UserForm сниппетом eForm при eformOnBeforeFormParse=`tsv_ParseUserForm` (cмотрите документацию к eForm, событие eformOnBeforeFormParse.) В функции tsv_ParseUserForm в форму вставляются дополнительные поля: методы оплаты, методы доставки, заполняются поля данными пользователя и т.д.
Можно использовать для добавления в форму произвольных данных, напр., добавить поле с выбором региона, которые берутся из внешней таблицы (сформировав их в плагине и потом вставив результат вместо плейсхолдера), как-то изменить данные пользователя, вставляемые в форму и т.д.
Принимает переменную tpl, содержащую код чанка Shop_UserForm.
Возвращает обработанный (плагином) код чанка.
Доступно начиная с версии 5.0
Срабатывает после завершения обработки формы оформления заказа (чанк Shop_UserForm) сниппетом eForm.
Доступно начиная с версии 5.0
Срабатывает в момент обработки отправленных данных из формы оформления заказа (чанк Shop_UserForm), но еще до того, как эти данные сохранены в БД. Можно использовать для дополнительной обработки отправленных данных о заказе. Например, если контактный телефон пользователя состоит из двух полей (код и номер), то в плагине можно объединить эти два поля в одно и записать в другую (или ту же) переменную и т.д.
Принимает массив fields, содержащий все данные, отправленные при сабмите формы оформления заказа (см. документацию к сниппету eForm).
Возвращает обработанный (плагином) массив fields.
Будет доступно начиная с версии 5.0.1
Срабатывает после завершения обработки формы оформления заказа (чанк Shop_UserForm). Можно использовать для завершающей обработки формы заказа.
Принимает переменную tpl, содержащую код чанка Shop_UserForm.
Возвращает обработанный (плагином) код чанка.
Срабатывает при просмотре карточки товара. Его можно использовать, например, для подсчета просмотров товара или других целей.
Принимает массив с данными: itemid - ID документа/товара, type - источник товаров (docs - документы MODx; catalog - каталог товаров TSVcatalog)
Срабатывает при выводе цены товара в карточку товара. Его можно использовать, например, для переопределения цены товара, которая выводится в карточку товара.
Принимает массив с данными: itemid - ID документа/товара, type - источник товаров (docs - документы MODx; catalog - каталог товаров TSVcatalog) и price - стоимость товара. Из плагина возвращается новая цена товара (обычная цена или формула ) или ничего (в таком случае подмены цены не происходит). Плагин, использующий это событие, НЕ переопределяет реальную цену товара, а лишь позволяет вывести в карточку товара новую цену. Чтобы реально изменить стоимость товара, используйте событие TSVshopOnAddItem.
Используется в аддоне Методы доставки. Срабатывает в момент подсчета стоимости доставки и перед тем, как эта стоимость будет вставлена в корзину вместо соответсвующих плейсхолдеров ([+shop.basket.shipping+] - стоимость доставки и [+shop.basket.shiptype+] - тип доставки).
Можно использовать для изменения стоимости и типа доставки "налету", для добавления своих плейсхолдеров в шаблон корзины и т.д.
Принимает массив с данными: tpl - код чанка Shop_Cart или Shop_Checkout; shipping - стоимость доставки; shiptype - тип доставки.
Возвращает обработанный (плагином) код чанка. Результаты shipping и shiptype возвращать из плагина не нужно, а вставить в массив $_SESSION[$session]['result']['shipping'] и $_SESSION[$session]['result']['shiptype'] соответственно.
Срабатывает при подсчете подитога заказа (общая стоимость всех позиций БЕЗ скидок, доставки, налогов и т.д.). Можно использовать для изменения подитога "налету" и других целей.
Принимает переменную subtotal - подитог.
Возвращает подитог, обработанный плагином.
Срабатывает, когда заказ полностью сформирован, оформлен, отосланы письма заказчику и покупателю. Можно использовать для любых целей, например, совершать какие-либо действия после завершения оформления заказа.
Принимает массив $_SESSION['tsvshopfin'] , который содержит полный список всех данных о заказе.
Возвращает этот же массив, обработанный плагином. (Также возможен вариант, когда плагин ничего не возвращает, а все измененные данные просто подставлять обратно в массив $_SESSION['tsvshopfin'])
С версии 5.2rc2 событие больше ничего не передает в плагин. Все данные о заказе доступны в для плагина в массиве $_SESSION['tsvshopfin']. Все операции в плагине производятся с ним.
Срабатывает непосредственно перед началом обработки чанков корзины: Shop_Cart и Shop_Checkout, когда уже все готово для парсинга. Можно использоваться для любых целей, напр., добавить свои плейсхолдеры или как-то изменить чанк корзины "налету".
Принимает переменную tpl - код чанка Shop_Cart или Shop_Checkout.
Возвращает обработанный (плагином) код чанка.
Срабатывает сразу после окончания обработки чанков корзины: Shop_Cart и Shop_Checkout. К этому моменту уже полностью обработан чанк корзины и готов в выводу. Можно использоваться для любых целей, напр., изменить чанк корзины "налету".
Принимает переменную tpl - уже обработанный код чанка Shop_Cart или Shop_Checkout.
Возвращает обработанный (плагином) код чанка.