хелперы для плагинов

Здравствуйте, подскажите пожалуйста, как вызвать из шаблона функцию display вывода плагина.

если обявить метод статическим {shopPlugin::display()} так работает, а можно ли вызвать нестатический метот класса.
Спасибо за ответ

3 ответа

  • 1
    Леонид Вакуленко Webasyst 31 октября 2013 02:11 #
    Нет. Из шаблона невозможно создать экземпляр класса, в том числе класса плагина. Но есть другие способы сделать то, что вам нужно.

    Первый: создать в плагине статический метод, который при необходимости создаёт что угодно и вызывает что угодно.

    Второй: создать в плагине ViewAction и подключать его в шаблон с помощью {wa_action app="shop" module="pluginnamePluginModulename" action="actionname"}
    • 0
      Леонид Вакуленко Леонид Вакуленко Webasyst 31 октября 2013 02:56 #
      Поправка: {wa_action} лучше не использовать. Это, как оказалось, внутренний недокументированный механизм, и чёрт его знает, что с ним будет в будущих версиях фреймворка. Используйте статический метод.
  • 0
    Eugen Nichikov 10 ноября 2013 08:12 #
    А так не работает?
    {wa('shop')->getPlugin('mycoolplugin')->nonStaticMethod()}

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

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