![]() |
Languages: |
English |
In Joomla! 1.0.x it was possible to determine if the user was viewing the front page by using code like this:
<?php if ($option == 'com_frontpage' || $option == '') { echo 'This is the front page'; } ?>
But in Joomla! 1.5.x the com_frontpage component is no longer present. This is how to achieve the same result in Joomla! 1.5.x
<?php $menu = & JSite::getMenu(); if ($menu->getActive() == $menu->getDefault()) { echo 'This is the front page'; } ?>
This works by checking to see if the current active menu item is the default one.
There are some differences in 1.6/1.7/2.5 to avoid Strict Standards errors. Use the following code for a site where all content is in the same language:
<?php $app = JFactory::getApplication(); $menu = $app->getMenu(); if ($menu->getActive() == $menu->getDefault()) { echo 'This is the front page'; } ?>
For multi-lingual sites the front page is dependent on the currently selected language, so you will need to use code like this:
<?php $app = JFactory::getApplication(); $menu = $app->getMenu(); if ($menu->getActive() == $menu->getDefault( 'en-GB' )) { echo 'This is the front page'; } elseif ($menu->getActive() == $menu->getDefault( 'fr-FR' )) { echo 'Accueil'; } ?>
For multi-lingual sites, it could also be necessary to display a specific code/html for all Default Home pages.
<?php $app = JFactory::getApplication(); $menu = $app->getMenu(); $lang = JFactory::getLanguage(); if ($menu->getActive() == $menu->getDefault($lang->getTag())) { echo 'This is the front page'; } else { echo 'Accueil'; } ?>