Actions

Difference between revisions of "How to determine if the user is viewing the front page"

From Joomla! Documentation

m (version template for 4 versions of Joomla)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{version|1.0,1.5,1.6,1.7,2.5}}== {{JVer|1.0}} Joomla 1.0 ==
+
<noinclude><languages /></noinclude>
 +
{{version|1.0,1.5,2.5,3.x}}== {{JVer|1.0}} Joomla! 1.0 ==
 +
 
 +
<translate><!--T:1-->
 +
In Joomla! 1.0.x it was possible to determine if the user was viewing the front page by using code like this:</translate>
  
In Joomla! 1.0.x it was possible to determine if the user was viewing the front page by using code like this:
 
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
Line 10: Line 13:
 
</source>
 
</source>
  
== {{JVer|1.5}} Joomla 1.5 ==
+
== {{JVer|1.5}} Joomla! 1.5 ==
 +
 
 +
<translate><!--T:2-->
 +
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</translate>
  
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
 
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
Line 21: Line 26:
 
?>
 
?>
 
</source>
 
</source>
This works by checking to see if the current active menu item is the default one.
 
  
== {{JVer/multi|1.6,1.7,2.5}} Joomla 1.6, 1.7 and 2.5 ==
+
<translate><!--T:3-->
 +
This works by checking to see if the current active menu item is the default one.</translate>
 +
 
 +
<translate>== {{JVer/multi|2.5,3.x}} Joomla! 2.5 and 3.x series == <!--T:4--></translate>
 +
 
 +
<translate><!--T:5-->
 +
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:</translate>
  
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:
 
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
Line 36: Line 45:
 
</source>
 
</source>
  
For multi-lingual sites the front page is dependent on the currently selected language, so you will need to use code like this:
+
<translate><!--T:6-->
 +
For multi-lingual sites the front page is dependent on the currently selected language, so you will need to use code like this:</translate>
 +
 
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
Line 50: Line 61:
 
</source>
 
</source>
  
For multi-lingual sites, it could also be necessary to display a specific code/html for '''all''' Default Home pages.
+
<translate><!--T:7-->
 +
For multi-lingual sites, it could also be necessary to display a specific code/html for '''all''' Default Home pages.</translate>
 +
 
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
Line 66: Line 79:
  
 
<noinclude>
 
<noinclude>
 +
<translate>
 +
<!--T:8-->
 
[[Category:Development]]
 
[[Category:Development]]
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]
 +
</translate>
 
</noinclude>
 
</noinclude>

Latest revision as of 04:42, 23 July 2015

Other languages:
English • ‎français • ‎Nederlands

Joomla 1.0 Joomla! 1.0

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 Joomla! 1.5

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 2.5 Joomla 3.x Joomla! 2.5 and 3.x series

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';
}
?>