Как при оформлении заказов через shopCustom.class.php автоматизировать передачу некоторых данных из cookie в shop_order_params? Есть решение

Пока решил проблему правкой /wa-apps/shop/lib/actions/frontend/order/shopFrontendOrder.actions.php - добавив в функцию getOrderParamsFromRequest():

        $somedata = waRequest::cookie('somedata');
        if ($somedata) {
            $params['somedata'] = $somedata;
        }

Вроде не желательно. Так как при обновлении - придется заново прописывать.

Можно это сделать через кастомные хелпер в /wa-apps/shop/lib/classes/shopCustom.class.php?

Если да - то подскажите, пожалуйста-та.

1 ответ

  • 2
    Rat Партнер-разработчик 29 июля 2019 15:12 # Решение

    Напишите плагин, привяжите его к событию завершения оформления заказа и в обработчике события добавляйте в параметры заказа нужное значение. ID заказа можно доставать из сессии по ключу 'shop/order_id'.

    • +1
      Nail Nail 29 июля 2019 15:15 #

      То есть надо писать плагин?

      Через кастомный хелпер такое не сделать или это сложно?

      • +1

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

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите