Использование метода плагина "Магазин" в шаблоне приложения "Рассылки" Есть решение
Есть метод плагина приложения "Магазин":
public static function getCompanyName() { return '<b>«Название компании»</b>'; }
В шаблоне приложения "Рассылки", согласно инструкции, пытаюсь обратиться к методу:
{if $wa->shop} {if method_exists('shopEasymailerPlugin', 'getCompanyName')} {$company_name = shopEasymailerPlugin::getCompanyName()} {/if} {/if} {$company_name}
Но после отправки письма вместо вывода переменной "$company_name" приходит просто текст: "{ $company_name = shopEasymailerPlugin::getCompanyName()}"(скриншот: https://yadi.sk/d/6YoUPCK4_rWJ...).
Попробовал перенести данный код в "блок сайта" и вызвать блок в шаблоне приложения "Рассылки":
{$wa->block("test_block")}
И в таком случае, приложение "Рассылка" корректно выводит переменную (скриншот: https://yadi.sk/d/4yPZ9JOymIAO...). Вроде так всё работает, но лишний раз использовать блоки сайта не хочется...
----
Вопрос: что можно сделать, чтобы не приходилось переносить вызов метода плагина в "Блоки сайта"? Откуда берется этот пробел (https://yadi.sk/d/HylBHY4lT2fH...)? Что я делаю не так?
8 ответов
Старый баг. Только блоки :(
Баг, не баг, но по коду, насколько я помню, именно так и задумано...
хоть бы где информация об этом была. Попробовал использовать блок "на авось", а оно вдруг заработало.
да ёпрст.
1. Попробовал подключить блок сайта и через него выводить в $wa->globals(). Но в приложении "Рассылки" $wa->globals() не работает.
2. Попробовал использовать параметры блоков:
но так тоже не работает.
Что не так с рассылками? Мне всего лишь нужно получить результат 7 методов из плагина другого приложения. Кто знает способ, кроме как создать для этого 7 отдельных блоков сайта?
Создать блок, в нем по переменным проверять к чему обратится. Например
В теле блока
и не надо создавать 7 блоков
спасибо. я так и делал. только вместо
пытался сделать убрать всякие лишние пробелы:
в итоге, отказался от "regex_replace", и заработало:
странный подход к вырезанию пробелов...
Внутри блока всё завернуть в {strip} ... {/strip} и всё
да, {strip} ... {/strip} удобнее в данном случае. Возьму на вооружение, спасибо.