Очередность вызова плагинов при событии Есть решение

Здравствуйте.

Вопрос:
Можно ли каким-то образом задать очередность вызова плагинов при определенных событиях?

Почему меня это интересует:
Использую хук backend_order и позицию для вывода инфы в нем - action_button.
Хочется что бы мой плагин вызывался последним, т.к. в выводе инфы я планирую закрывать теги </li></ul>.
Мне не нравится, что инфа выводится РЯДОМ с кнопками. Хочется после них =)
Заранее спасибо за ответ.

3 ответа

  • 1
    Владимир Тупоршин-мл. Webasyst 3 ноября 2013 12:15 # Решение
    В бекенде магазина в разделе "Плагины" сортируйте установленные плагины драг-н-дропом (просто перетаскивая их мышкой). Этот порядок определяет их порядок подключения.
  • 0
    Дмитрий (BNP) 3 ноября 2013 12:22 #
    Интересное решение =)

    А если вопрос рассмотреть со стороны разработчика? Я же не могу быть уверен, что пользователь плагина сделает описанные Вами телодвижения.
    И если мой плагин будет вызываться не последним для обозначенного хука - он поломает верстку =(

    Или может быть подскажите, как вывести вывод плагина в хуке backend_order в позиции action_button так, что бы он выводился вне списка (ul->li) остальных кнопок?
    • 0
      Это какой-то нехороший хак. Безопаснее выводить скрытые элементы, а потом перемещать их JavaScript'ом куда вам нужно.
      • 0
        %username% 4 ноября 2013 05:24 #
        Где бы по это еще почитать?
        С этим $view = wa()->getView() вообще загадочная история =(
        В частности делаю:
        1. В плагине:
        $view = wa()->getView();
        $view->assign('info', 'Test');
        return array(
        'action_button' => $view->fetch($this->path
        .'/templates/search.html')
        );

        В search.html:
        1. <div>Test</div> - выводит "Test"
        2. <div>{info}</div> - НИЧЕГО не выводит
        3. <div>Test {info}</div> - тоже ничего не выводит
        • 0
          Кидается Exception, потому что Smarty не знает такого тэга - {info}. Эксепшн не долетает до браузера, потому что ошибки от плагинов проглатываются. Смотрите логи в /wa-log/

          Конкретно в этом случае, видимо, имелось в виду {$info}
        • 0
          Или путь до шаблона не тот - в любом случае, смотрите логи.
        • 0
          $view->assign('var_name','the value');
          а в шаблоне
          {$var_name}
          А почитать в документации про Smarty http://www.smarty.net/docs/en/
  • 0
    Дмитрий (BNP) 4 ноября 2013 08:49 #
    Все, спасибо, разобрался уже =)
    Теперь в любое место могу впихнуть.
    Еще раз спасибо за наводку =)

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

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