В Developer Center создал приложение. В админке весь нужный функционал работает без каких-либо проблем и ошибок. А вот с выводом на самом сайте возникла проблема,которую не могу решить уже неделю. Для вывода нужного меню на сайте планировал конструкцию {custom_menu=ID} . Код для создания тега {custom_menu=...} делал через тип расширения OutputPlugins в Developer Center. Сам код <?php namespace IPS\custommenu\extensions\core\Output; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( $_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } /** * Плагин шаблона для вывода кастомного меню */ class _CustomMenu { /** * Имя плагина, которое используется в шаблоне: {custom_menu=...} * * @return string */ public function getPluginName() { return 'custom_menu'; } /** * Описание для ACP * * @return string */ public function getPluginDescription() { return \IPS\Member::loggedIn()->language()->addToStack( 'custommenu_plugin_desc' ); } /** * Аргументы, которые принимает плагин * Здесь мы говорим, что параметр 'key' — это целое число (ID меню) * * @return array */ public function getPluginArguments() { return array( 'key' => 'int', ); } /** * Основной метод, который возвращает HTML для вывода * * @param array $arguments * @return string */ public function getOutput( $arguments ) { $menuId = $arguments['key'] ?? null; if ( ! $menuId ) { return ''; } try { $menu = \IPS\custommenu\Menu\Menu::load( $menuId ); if ( ! $menu ) { return ''; } return (string) \IPS\Theme::i()->getTemplate( 'front', 'custommenu', 'global' )->render( $menu ); } catch ( \OutOfRangeException $e ) { return ''; } } /** * Как тег отображается в редакторе шаблонов * * @param array $arguments * @return string */ public function getEditorHtml( $arguments ) { return '{custom_menu=' . ( $arguments['key'] ?? '1' ) . '}'; } } Либо что-то не так сделал либо одно из двух... Выводит саму строку {custom_menu=...} и все. Кто-нибудь может подсказать в чем проблема?