Difference between revisions of "How to determine if the user is viewing the front page"
From Joomla! Documentation
Infograf768 (talk | contribs) |
Infograf768 (talk | contribs) |
||
Line 28: | Line 28: | ||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
− | $ | + | $app = JFactory::getApplication(); |
+ | $menu = $app->getMenu(); | ||
if ($menu->getActive() == $menu->getDefault()) { | if ($menu->getActive() == $menu->getDefault()) { | ||
echo 'This is the front page'; | echo 'This is the front page'; | ||
Line 38: | Line 39: | ||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
− | $ | + | $app = JFactory::getApplication(); |
+ | $menu = $app->getMenu(); | ||
if ($menu->getActive() == $menu->getDefault( 'en-GB' )) { | if ($menu->getActive() == $menu->getDefault( 'en-GB' )) { | ||
echo 'This is the front page'; | echo 'This is the front page'; | ||
Line 50: | Line 52: | ||
For multi-lingual sites, it could also be necessary to display a specific code/html for '''all''' Default Home pages. | For multi-lingual sites, it could also be necessary to display a specific code/html for '''all''' Default Home pages. | ||
<source lang="php"> | <source lang="php"> | ||
− | <?php $ | + | <?php $app = JFactory::getApplication(); ?> |
+ | <?php $menu = $app->getMenu(); ?> | ||
<?php $lang = JFactory::getLanguage(); ?> | <?php $lang = JFactory::getLanguage(); ?> | ||
<?php if ($menu->getActive() == $menu->getDefault($lang->getTag())) : ?> | <?php if ($menu->getActive() == $menu->getDefault($lang->getTag())) : ?> |
Revision as of 11:28, 18 February 2012
Joomla 1.0[edit]
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';
}
?>
Joomla 1.5[edit]
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.
Joomla 1.6, 1.7 and 2.5[edit]
The same code that worked in Joomla 1.5 will work in 1.6 onwards. However, since PHP 5 is now a minimum requirement for Joomla 1.6 the ampersand (&) is no longer required on the first line. 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(); ?>
<?php $menu = $app->getMenu(); ?>
<?php $lang = JFactory::getLanguage(); ?>
<?php if ($menu->getActive() == $menu->getDefault($lang->getTag())) : ?>
etc.