0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 1673 Просмотров
*

salikoff

  • Новичок
  • 12
  • 0 / 0
Здравствуйте. Подскажите, пожалуйста, как можно определить главную страницу для языка сайта?
Имеется двуязычный сайт.
Есть два меню - одно для русского языка, другое для английского.
В каждом меню указана главная страница.
Таким образом на сайте две главных страницы.
Как же мне определить, что я на главной?

$menu = & JSite::getMenu();
if ($menu->getActive() == $menu->getDefault()) {$fpage="1";}

не работает,

JRequest::getVar('view', null)  == "frontpage" тоже не работает

Можно, конечно узнавать по Itemid, например так: JRequest::getInt( 'Itemid', 1, 'get' ),
но это как-то не универсально.

Посоветуйте красивое правильное решение
*

salikoff

  • Новичок
  • 12
  • 0 / 0
Спасибо, разобрался сам.

JRequest::getVar('home', null)  если 1 - то главная, если 0 - то не главная
*

linykc

  • Осваиваюсь на форуме
  • 30
  • 11 / 0
Столкнулся с той же проблемой, способ предложенный salikoff к сожалению не помог.

зато нашел в сети другой, может пригодится кому.

Для версий Joomla 1.6/1.7/2.5 есть некоторые отличия, поэтому для них, в случае одноязычного сайта, следует использовать следующий код:
Код
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault())  :
?>
<div>Этот блок виден только на главной странице.</div>
<?php endif; ?>
Для многоязычного сайта на Joomla главная страница зависит от текущего языка, поэтому нам нужно использовать следующий код:

Код
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault( 'en-GB' )) :
?>
<div>Этот блок виден только на главной странице.</div>
<?php
elseif ($menu->getActive() == $menu->getDefault( 'fr-FR' )) :
?>
<div>Этот блок виден только на главной странице.</div>
<?php endif; ?>

Для многоязычного сайта на Joomla, возможно, будет необходимо показывать определенные блоки на главных страницах для всех языков.

Код
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$lang = JFactory::getLanguage();
if ($menu->getActive() == $menu->getDefault($lang->getTag())):
?>
<div>Этот блок виден только на главной странице.</div>
<?php endif; ?>
   
На основе материалов с http://docs.joomla.org

источник _http://romul.name/2012/10/09/how-to-determine-if-the-user-is-viewing-the-front-page/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Периодически пропадает модуль "HTML-код" с главной страницы (Joomla! 2.5.24)

Автор fave

Ответов: 1
Просмотров: 249
Последний ответ 19.02.2018, 17:32:31
от arma
Непонятные страницы

Автор w00p

Ответов: 19
Просмотров: 587
Последний ответ 06.02.2018, 16:49:49
от SeBun
Модуль игнорирующий перезагрузку страницы

Автор Den85

Ответов: 7
Просмотров: 420
Последний ответ 28.01.2018, 18:39:04
от dmitry_stas
Замена страницы Joomla

Автор sergeykozin1

Ответов: 4
Просмотров: 447
Последний ответ 25.01.2018, 00:17:07
от sergeykozin1
Вывод определенных материалов на главной

Автор JustRe1ax

Ответов: 4
Просмотров: 231
Последний ответ 08.12.2017, 11:21:47
от JustRe1ax