Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Шаги "оформление заказа"

Автор atachРаздел Шаблоны TPL

Ответов: 11
Просмотров: 7478
Последний ответ 14 Августа 2013, 16:59:21
от admin
Вывести сумму заказа на странице "Заказ поступил в обработку"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 5149
Последний ответ 07 Ноября 2014, 23:46:49
от Axiomateria
Перенаправление на страницу регистрации покупателя перед оформлением заказа

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 16
Просмотров: 12085
Последний ответ 11 Марта 2013, 11:54:29
от Axiomateria
Не суммировать скидку на товар с общей скидкой от суммы заказа

Автор smartwebРаздел Шаблоны TPL

Ответов: 3
Просмотров: 3803
Последний ответ 19 Декабря 2016, 12:29:09
от aghigay
Как в форму заказа в один шаг добавить свое поле адрес?

Автор rob1nРаздел Шаблоны XSLT

Ответов: 3
Просмотров: 2834
Последний ответ 03 Мая 2017, 23:21:19
от aghigay

0 Пользователей и 1 Гость просматривают эту тему.

*

toshka

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Изменение статуса заказа
« : 04 Ноября 2013, 00:48:07 »
Добрый вечер! Можно ли кастомизировать событие изменения статуса заказа? В ядре это функция order_edit(), насколько я понял. Если да, то опишите пожалуйста поподробней процесс, я новичок в написании кастомов, не знаю нюансов.

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Re:Изменение статуса заказа
« Ответ #1 : 04 Ноября 2013, 10:25:18 »
А что именно нужно сделать?
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

*

toshka

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:Изменение статуса заказа
« Ответ #2 : 04 Ноября 2013, 21:17:07 »
Есть накопительная скидка, она начинает действовать, когда сумма заказов становится больше установленного придела, но при этом у всех заказов должен быть статус "принят". Мне необходимо чтобы как только активировалась скидка у пользователя в личных данных появлялся номер дисконтной карты. Решил редактировать событие изменения статуса заказа, потому как оно помимо активации скидки, отправляет письмо на ящик покупателя, в которое можно достать присвоенный номер.  Но реализовал это в ядре, а теперь хочу вынести в кастом.

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Изменение статуса заказа
« Ответ #3 : 06 Ноября 2013, 00:14:49 »
На первый взгляд, если вы хотите использовать именно событие то можете взять, стандартную точку вызова: order_refresh подробнее здесь:
http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/sobytijnaya_model_umicms/standartnye_tochki_vyzova/#sel=4:1060,4:1060

Чтобы создать событие идете в папку classes/modules/emarket/custom_events.php, в нем создаете новое событие:

   new umiEventListener("order_refresh", "emarket", "getKart");

и в зависимости где будт обрабатываться ваш кастом, те либо в админке либо на самом сайте пишите сам обработчик, те в файле _admin.php либо в файле custom.php соотвественно!

Да и обязательно учтите параметры которые передает событие order_refresh, в api все описано!

*

toshka

  • *
  • 10
  • +0/-0
    • Просмотр профиля
Re:Изменение статуса заказа
« Ответ #4 : 09 Ноября 2013, 12:25:34 »
Событие в админке, значит  _admin.php, но ведь _admin.php обновиться, при обновлении системы?

*

muldy

  • ***
  • 222
  • +9/-1
    • Просмотр профиля
Re:Изменение статуса заказа
« Ответ #5 : 10 Ноября 2013, 22:29:39 »
Создаете файл __custom_adm.php и все!

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Re:Изменение статуса заказа
« Ответ #6 : 11 Ноября 2013, 00:30:08 »
В последних версиях столкнулся с тем, что order_refresh не всегда отрабатывает.

Советую посмотреть в сторону

new umiEventListener('systemModifyPropertyValue', 'emarket', 'onModifyProperty');
new umiEventListener('systemModifyObject', 'emarket', 'onModifyObject');

Код этих обработчиков находится в файле emarket/__events.php
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/