Чтобы в Joomla вывести какие-либо данные только на главной странице сайта (например, рекламу Sape), надо эту главную как-то определить программно. Порывшись на просторах интернета, я нашел такой кусок кода:
$menu = JSite::getMenu();
if ($menu->getActive() == $menu->getDefault()) {
echo 'Главная страница';
} else {
echo 'Это не главная страница';
}
Этот код функционирует, но с ошибками. Если несколько пунктов меню ссылаются на главную, то, соответственно, работать не будет. Так что этот код использовать не рекомендуется!
Правильным является такой подход:
if(JRequest::getVar('view') == "frontpage" ) {
echo 'Главная страница';
}
else {
echo 'Это не главная страница';
}
Если у вас главная страница — это, допустим, список материалов или список товаров, тогда попробуйте так (в 2.5 работает точно):
if (JUri::base() === JUri::current()) {
echo 'Главная страница';
} else {
echo 'Это не главная страница';
}
Источник: https://www.kobzarev.com/programming/joomla-get-frontpage/