Главная Новости

Системные события - TSVshop - модуль интернет-магазина для MODx


Опубликовано: 01.09.2018

Название события Описание TSVshopOnOrderStatusUpdate

Срабатывает при обновлении статуса заказа. Это относится и к изменению статуса заказа менеджером вручную, и к изменению статуса в результате оплаты любым из методов оплаты.

Принимает массив с данными: idorder - номер заказа, newstatus - новый статус.

Ничего не возвращает.

TSVshopOnAddItem

Срабатывает сразу после добавления товара в корзину. Это полезно для модификации данных добавленного товара: можно изменить его количество, стоимость, название и т.д.

До версии 5.0 принимает массив с данными о добавленном товаре: $_SESSION[$session]['orders'][$id]

С версии 5.0.1 принимает порядковый номер добавляемого товара (вместо массива) в переменную $item, далее по $item можно получить нужные данные о товаре с помощью массива $_SESSION[$session]['orders'][$item]

С версии 5.0.1 возвращает текст сообщения , который будет выводиться во всплывающем окне (при добавлении товара), заменяя стандартный текст. В этом случае плагин должен возвращать текст сообщения таким образом: $e->output('текст сообщения');

TSVshopOnDeleteItem

Срабатывает в момент удаления товара из корзины. Это полезно для совершения каких-либо дополнительных действий в момент удаления. Например, это событие используется в плагине TSVshop_inventory для учета товаров на складе (снимает резерв товара).

Принимает порядковый номер удаляемого товара (вместо массива) в переменную $item, далее по $item можно получить нужные данные о товаре с помощью массива $_SESSION[$session]['orders'][$item]

Ничего не возвращает.

Будет доступно с версии 5.0.1

TSVshopOnChangeItemQty

Срабатывает в момент изменения количества единиц конкретного товара в корзине. Полезно, когда нужно сделать какую-то операцию в момент изменения кол-ва товара (для скидок, статистики и т.д.) Например, это событие используется в плагине TSVshop_inventory для учета товаров на складе (изменяет количество товара в резерве).

Принимает порядковый номер товара, кол-во которого меняется - в переменную $item и новое количество товара в переменную $qty, далее по $item можно получить нужные данные о товаре с помощью массива $_SESSION[$session]['orders'][$item]

Ничего не возвращает.

Будет доступно с версии 5.2 rc2

TSVshopOnClearCart

Срабатывает в момент очистки корзины. Переменная сессии $_SESSION[$session] с заказами еще существует, поэтому с ней еще можно произвести необходимые действия. Например, это событие используется в плагине TSVshop_inventory для учета товаров на складе (снимает резерв с товаров, которые удаляются).

Ничего не принимаеи и не возвращает.

Будет доступно с версии 5.2 rc2

 TSVshopOnBeforeUserFormInit

Срабатывает непосредственно перед началом обработки формы оформления заказа (чанк Shop_UserForm), который, в свою очередь, используется сниппетом eForm. Можно использовать, напр., для выполнения каких-либо действий с корзиной до начала обработки чанка.

Принимает переменную tpl, содержащую код чанка Shop_Checkout.

Возвращает обработанный (плагином) код чанка.

TSVshopOnUserFormRender

Срабатывает в момент обработки чанка Shop_UserForm сниппетом eForm при eformOnBeforeFormParse=`tsv_ParseUserForm` (cмотрите документацию к eForm, событие eformOnBeforeFormParse.) В функции tsv_ParseUserForm в форму вставляются дополнительные поля: методы оплаты, методы доставки, заполняются поля данными пользователя и т.д. 

Можно использовать для добавления в форму произвольных данных, напр., добавить поле с выбором региона, которые берутся из внешней таблицы (сформировав их в плагине и потом вставив результат вместо плейсхолдера), как-то изменить данные пользователя, вставляемые в форму и т.д.

Принимает переменную tpl, содержащую код чанка Shop_UserForm.

Возвращает обработанный (плагином) код чанка.

Доступно начиная с версии 5.0

TSVshopOnBeforeUserFormRenderComplete

Срабатывает после завершения обработки формы оформления заказа (чанк Shop_UserForm) сниппетом eForm.

Доступно начиная с версии 5.0

TSVshopOnUserFormFieldsRender

Срабатывает в момент обработки отправленных данных из формы оформления заказа (чанк Shop_UserForm), но еще до того, как эти данные сохранены в БД. Можно использовать для дополнительной обработки отправленных данных о заказе. Например, если контактный телефон пользователя состоит из двух полей (код и номер), то в плагине можно объединить эти два поля в одно и записать в другую (или ту же) переменную и т.д.

Принимает массив fields, содержащий все данные, отправленные при сабмите формы оформления заказа (см. документацию к сниппету eForm).

Возвращает обработанный (плагином) массив fields.

Будет доступно начиная с версии 5.0.1

TSVshopOnUserFormComplete

Срабатывает после завершения обработки формы оформления заказа (чанк Shop_UserForm). Можно использовать для завершающей обработки формы заказа.

Принимает переменную tpl, содержащую код чанка Shop_UserForm.

Возвращает обработанный (плагином) код чанка.

TSVshopOnViewItemCard

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

Принимает массив с данными: itemid - ID документа/товара, type - источник товаров  (docs - документы MODx; catalog - каталог товаров TSVcatalog)

TSVshopOnGetPriceItemCard Начиная с версии 5.4.1

Срабатывает при выводе цены товара в карточку товара. Его можно использовать, например, для переопределения цены товара, которая выводится в карточку товара.

Принимает массив с данными: itemid - ID документа/товара, type - источник товаров  (docs - документы MODx; catalog - каталог товаров TSVcatalog) и price - стоимость товара. Из плагина возвращается новая цена товара (обычная цена или формула ) или ничего (в таком случае подмены цены не происходит). Плагин, использующий это событие, НЕ переопределяет реальную цену товара, а лишь позволяет вывести в карточку товара новую цену. Чтобы реально изменить стоимость товара, используйте событие TSVshopOnAddItem.

TSVshopOnGetShipping

Используется в аддоне Методы доставки. Срабатывает в момент подсчета стоимости доставки и перед тем, как эта стоимость будет вставлена в корзину вместо соответсвующих плейсхолдеров ([+shop.basket.shipping+] - стоимость доставки и [+shop.basket.shiptype+] - тип доставки).

Можно использовать для изменения стоимости и типа доставки "налету", для добавления своих плейсхолдеров в шаблон корзины и т.д.

Принимает массив с данными: tpl - код чанка Shop_Cart или Shop_Checkout; shipping - стоимость доставки; shiptype - тип доставки.

Возвращает обработанный (плагином) код чанка.  Результаты shipping и shiptype  возвращать из плагина не нужно, а вставить в массив $_SESSION[$session]['result']['shipping'] и $_SESSION[$session]['result']['shiptype'] соответственно.

TSVshopOnGetSubtotal

Срабатывает при подсчете подитога заказа (общая стоимость всех позиций БЕЗ скидок, доставки, налогов и т.д.). Можно использовать для изменения подитога "налету" и других целей.

Принимает переменную subtotal - подитог.

Возвращает подитог, обработанный плагином.

TSVshopOnOrderSuccess

Срабатывает, когда заказ полностью сформирован, оформлен, отосланы письма заказчику и покупателю. Можно использовать для любых целей, например, совершать какие-либо действия после завершения оформления заказа.

Принимает массив $_SESSION['tsvshopfin'] , который содержит полный список всех данных о заказе.

Возвращает этот же массив, обработанный плагином. (Также возможен вариант, когда плагин ничего не возвращает, а все измененные данные просто подставлять обратно в массив $_SESSION['tsvshopfin'])

С версии 5.2rc2 событие больше ничего не передает в плагин. Все данные о заказе доступны в для плагина в массиве $_SESSION['tsvshopfin'].  Все операции в плагине производятся с ним.

TSVshopOnTplCartPrerender

Срабатывает непосредственно перед началом обработки чанков корзины: Shop_Cart и Shop_Checkout, когда уже все готово для парсинга. Можно использоваться для любых целей, напр., добавить свои плейсхолдеры или как-то изменить чанк корзины "налету".

Принимает переменную tpl - код чанка Shop_Cart или Shop_Checkout.

Возвращает обработанный (плагином) код чанка.

TSVshopOnTplCartRender

Срабатывает сразу после окончания обработки чанков корзины: Shop_Cart и Shop_Checkout. К этому моменту уже полностью обработан чанк корзины и готов в выводу. Можно использоваться для любых целей, напр., изменить чанк корзины "налету".

Принимает переменную tpl - уже обработанный код чанка Shop_Cart или Shop_Checkout.

Возвращает обработанный (плагином) код чанка.
rss