Вы делаете этот ПУТЬ сложнее, чем нужно. Вам не нужно писать дополнительный код, чтобы выполнить то, что вы пытаетесь сделать. Чтобы напечатать наш вывод компонента без всего шаблона Joomla, вы просто добавляете ?tmpl=component
к своим URL-адресам, и Joomla будет отображать только вывод компонента без какого-либо шаблона. Если вы хотите присвоить ему пользовательскую таблицу стилей или что-то особенное, вы также можете добавить переопределение шаблона, добавив файл с именем component.php в папку шаблонов.
Чтобы управлять CSS на странице, вы можете добавить суффиксы класса страницы в пункты меню. Затем добавьте этот код в index.php, чтобы вы могли их использовать.
Где-то в голове добавить это:
$menu = &JSite::getMenu();
$active = $menu->getActive();
$pageclass = "";
if (is_object( $active )) :
$params = new JParameter( $active->params );
$pageclass = trim($params->get( 'pageclass_sfx' ));
endif;
Замените тег вашего тела следующим:
<body id="<?php echo $pageclass ? $pageclass : 'default'; ?>">
Любая страница, для которой вы не указали суффикс класса страницы, будет использовать default
в качестве идентификатора тела, любая, которую вы делаете, будет использовать то, что вы указали.