Чтобы в 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/