--=REKLAMA=--

Jak określić, czy użytkownik przegląda stronę startową?

Z Joomla!WikiPL

Joomla 1.0 Joomla w wersji 1.0

W Joomla! 1.0.x można określić, czy użytkownik przegląda stronę startową, używając kodu jak poniżej: jeśli strona startowa to komponent com_frontpage to:

<?php
if ($option == 'com_frontpage' || $option == '') {
	echo 'To jest strona startowa';
}
?>

Wersja bardziej uniwersalna:

<?php
if ($Itemid == 6) {
	echo 'To jest strona startowa';
}
?>

gdzie $Itemid to id menu, które jest stroną startową (pierwsza pozycja mainmenu).

Joomla 1.5 Joomla w wersji 1.5.x

Ale w Joomla 1.5 komponent nie ma już komponentu com_frontpage. Oto, jak osiągnąć ten sam rezultat w Joomla 1.5:

<?php
$menu = & JSite::getMenu();
if ($menu->getActive() == $menu->getDefault()) {
	echo 'To jest strona startowa';
}
?>

Kod sprawdza, czy aktualnie przeglądana strona jest domyślną stroną startową.

Joomla w wersji 2.5 oraz 3.x Joomla! w wersji 2.5 Joomla w wersji 3.x

W wydaniach 1.6/1.7/2.5, trzeba zastosować nieco odmienny kod, aby uniknąć komunikatów ostrzegających o zastosowaniu przestarzałego kodu (błędy Strict Standards). Na stronach jednojęzycznych zastosuj poniższy kod:

<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault()) {
	echo 'To jest strona startowa';
}
?>

W przypadku witryn wielojęzycznych strona startowa jest uzależniona od wybranego języka, trzeba będzie użyć kodu jak poniżej:

<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault( 'en-GB' )) {
	echo 'To jest strona startowa';
}
elseif ($menu->getActive() == $menu->getDefault( 'pl-PL' )) {
	echo 'Powitanie';
}
?>


W przypadku witryn wielojęzycznych, może być konieczne, wyświetlenie konkretnego kod/html dla wszystkich domyślnych stron startowych.

<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$lang = JFactory::getLanguage();
if ($menu->getActive() == $menu->getDefault($lang->getTag())) {
	echo 'To jest strona startowa';
}
else {
	echo 'Powitanie';
}
?>
© Ten materiał jest dokładnym albo swobodnym tłumaczeniem artykułu http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page udostępnionego na licencji JEDL na witrynie: Joomla! Official Documentation Wiki

Dziękujemy za wkład

» Stefan Wajda [zwiastun],