Вышло новое обновление партнерских магазинов 1648. В этом обновлении поменялся скрипт /order.php, осуществляющий передачу оформленных заказов на сервер партнерской программы.
Это достаточно важный анонс поскольку у многих партнеров в этот скрипт внесены изменения (например, по инструкции
viewtopic.php?f=6&t=2538). И все эти изменения будут перезаписаны этим обновлением. Потребуется ручная корректировка.
Изменение данного скрипта направлено на устранение необходимости в различных его модификациях. Для этого введены две хук-функции onOrderSend и onOrderComplete. Первая вызывается перед отсылкой заказа на сервер, вторая - уже после, при формировании страницы по шаблону complete.tmpl
Использование данных хуков позволяет вынести кастомную логику в /custom/hooks.php и использовать штатный /order.php без всяких модификаций.
Разберем на примере. Возьмем задачу из
viewtopic.php?f=6&t=2538 - требуется отсылать e-mail каждый раз, когда приходит новый заказ. Раньше эта задача решалась лишь модификацией скрипта /order.php штатного движка. Теперь же эта задача решается более изящно:
В файле /custom/hooks.php просто пропишем следующий код:
Код:
<?php
function onOrderComplete($order, $tmpl) {
mail('my@mail.ru', 'Новый заказ ' . $order['id'], $order['comments']);
}
И, каждый раз, когда приходит новый заказ, на
my@mail.ru будет отсылаться комментарий к нему.