Хелперы Магазина не работают в Блоге

1. Делаем простенький хелпер в приложении Магазин.
2. Вызов этого хелпера помещаем в блок shop.new_helper.
3. Вызываем этот блок в шаблоне кодом {$wa->block("shop.new_helper")}.
4. Пока мы в приложении Магазин - все работает.
5. Как только мы уходим в приложение Блог, то этот блок сразу перестает работать ругаясь на отсутствие класса.
6. То есть движок начинает искать хелпер уже в приложении Blog и понятное дело что его там не находит, несмотря на то, что блок называется SHOP.new_helper, ну и сами хелперы именованы, так как указывает документация, начиная с префикса "shop".

И наконец, внимание вопрос:
хелпер (и соответственно блок) будет работать только в том приложении, в котором он создан, и для других приложений нужно будет делать отдельные хелперы с абсолютно идентичным содержанием? Или же есть способ заставить работать хелперы Магазина во всех приложениях?

3 ответа

  • 1
    Леонид Вакуленко Webasyst 30 октября 2013 01:50 #
    При вставке блока из приложения, это приложение само по себе не инициалищируется. Поэтому его классы недоступны.
    Добавьте в блоке перед использованием хелпера что-то вроде:

    {if $wa->shop}{/if}

    Попытка доступа к $wa-shop инициализирует приложение, и обращение к классу Магазина перестанет выдавать ошибку.
  • 1
    Здравствйте. Помогите, пожалуйста, вставить хелпер из плагина к Магазину в приложение "Сайт".

    Описанный выше метод не помог. Сайт выдает ошибку - не найден плагин.
    Что можно сделать?

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

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