Хелперы плагинов для шаблонов

Ещё в версии фреймворка 1.14.11 мы добавили возможность создавать в плагинах view-хелперы для использования в шаблонах — методы, которые можно безопасно вызывать в шаблонах дизайна и уведомлений в таком виде:

{$wa->someapp->myPlugin->helper()}

Безопасно, потому что в случае отсутствия или деактивации плагина в конфигурационном файле вызов такого хелпера не приведёт к фатальной ошибке, а будет тихо проигнорирован фреймворком. Подробнее о создании и использовании таких хелперов и о нескольких дополнительных возможностях мы написали в документации.

8 ответов

  • 1
    Игорь Гапонов 8 апреля 2021 12:33 #

    Уточните минимальную версию Shop-Script, начиная с которой можно применять данные хелперы.

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 8 апреля 2021 12:52 #

      Спасибо за уточнение! Проверили — с Shop-Script ниже версии 8.17.0 такие хелперы могут работать неполноценно. В версии 8.17.0 мы исправили код приложения, чтобы эти хелперы поддерживались.

  • 1
    EnsoStudio 8 апреля 2021 20:28 #

    WA! у вас код плагинов устарел. Например, плагин Интеркассы использует create_function и т.д. Прогоните свой код через CodeSniffer или CS-Fixer чтобы выявить проблемы с совместимостью.

    P.S.
    Да и еще - на этом форуме комментировать могут все, а темы создавать почему-то могут только разработчики, поэтому собственно и пишу тут.

  • 1
    Koin 18 ноября 2021 23:49 #

    почему данный код не работает, версия последняя, точно рабочая схема?

    работает только код из наследников, свои не работают

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

    {$wa->someapp->myPlugin->version()}
    • +2
      Михаил Ушенин Михаил Ушенин Webasyst 26 ноября 2021 10:15 #

      Проверили — схема рабочая. Возможно, у вас плагин выключен или не очищен кеш после добавления класса хелпера.

      • 0
        Koin Koin 26 ноября 2021 11:41 #

        сделаю пример тогда на гитхабе в своем плагине и покажу вам, что не работает ну не как, методы из наследника, как выше писал будут работать

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

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