Шорткоды от стандартного модуля можно использовать только в контенте документов, инфосистем и т.д. С помощью этого хака шорткоды можно будет использовать в любом месте: в макете, в xsl шаблоне.
Для этого нам понадобится повесить событие на вывод контента и создать обработчик этого события.
Создаем файл modules/apply/shortcodes.php и записываем в него этот код
<?phpclass Apply_Shortcodes { static public function applyShortcodes(Core_Response $oResponse) { if (Core::moduleIsActive('shortcode')) { $sContent = $oResponse->getBody(); $sContent = Shortcode_Controller::instance()->applyShortcodes($sContent); $oResponse->changeBody($sContent); } }}
В файл bootstrap.php дописываем строку
Core_Event::attach('Core_Response.onBeforeCompress', array('Apply_Shortcodes', 'applyShortcodes'));