Как вызвать методы других приложений в Webasyst
Иногда в одном приложении нужно использовать функции другого. Например, получить список авторов блога для отображения на сайте магазина. В этой статье показано, как это сделать.
Вызов методов приложений
Заголовок раздела «Вызов методов приложений»Перед вызовом убедитесь, что нужное приложение установлено. Функция wa() с идентификатором приложения открывает доступ к его классам:
if (wa()->appExists('blog')) { wa('blog'); $blog_authors = blogHelper::getAuthors(1);}В шаблонах Smarty классы другого приложения доступны через объект $wa. Перед использованием убедитесь, что нужное приложение установлено:
{if $wa->blog} {$blog_authors = blogHelper::getAuthors(1)}{/if}Вызов методов плагинов
Заголовок раздела «Вызов методов плагинов»Можно вызывать не только методы приложений, но и методы плагинов другого приложения. Для этого добавьте проверку доступности метода.
if (wa()->appExists('blog')) { wa('blog'); // Проверяем, доступен ли статический метод getData класса плагина с идентификатором some if (method_exists('blogSomePlugin', 'getData')) { $data = blogSomePlugin::getData(); }}{if $wa->blog} {* Проверяем, доступен ли статический метод getData класса плагина с идентификатором some *} {if method_exists('blogSomePlugin', 'getData')} {$data = blogSomePlugin::getData()} {/if}{/if}Название класса плагина формируется так: сначала идентификатор приложения, потом идентификатор плагина в стиле CamelCase, потом слово Plugin. Например, для приложения blog и плагина some получится класс blogSomePlugin.