Где вызываются хуки магазина order_action_form.* Есть решение

Где и как их использовать?

2 ответа

  • 3
    Михаил Ушенин Webasyst 18 ноября 2016 10:21 # Решение

    Для этого хука плагин должен вернуть строку HTML-кода, которая добавится на страницу заказа после нажатия на кнопку выполнения действия с заказом. После элемента страницы, сформированного этой HTML-строкой, появится кнопка "Сохранить" и ссылка "отмена", которые позволят подтвердить выполнение действия с заказом или прервать его.

    Пример:

    'handlers' => array (
        'order_action_form.*' => 'OrderActionForm',
    ),
    <?php
    
    class shopTestPlugin extends shopPlugin
    {
        public function OrderActionForm($params)
        {
            return '<p>Вы уверены?</p>';
        }
    }

    Результат:

  • 3
    Михаил Ушенин Webasyst 18 ноября 2016 10:32 #

    В качестве фрагмента HTML-кода можно возвращать HTML-код элемента управления. И использовать введённое с его помощью значение примерно вот так:

    'handlers' => array (
      'order_action_form.*' => 'OrderActionForm',
      'order_action.*' => 'OrderAction',
    ),
    <?php
    
    class shopTestPlugin extends shopPlugin
    {
        public function OrderActionForm($params)
        {
            //формируем HTML-код элемента управления
            //для формы выполнения действия с заказом
            return waHtmlControl::getControl(waHtmlControl::INPUT, 'plugins[test][some]');
        }
    
        public function OrderAction($params)
        {
            //обработка значения, введённого пользователем в элемент управления,
            //сформированный в обработчике хука order_action_form.*
            $post = waRequest::post('plugins');
            waLog::dump($post['test']['some']);
        }
    }
    

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

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