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

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
  • 13 / 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/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Определение города пользователя по IP

Автор ria_andy

Ответов: 8
Просмотров: 5655
Последний ответ 05.12.2019, 15:20:40
от nikolaevevge
Ошибка при сохранении страницы

Автор gaa001

Ответов: 3
Просмотров: 612
Последний ответ 05.11.2019, 14:14:37
от gaa001
Последние посещенные страницы пользователем

Автор Fedor Vlasenko

Ответов: 18
Просмотров: 6636
Последний ответ 06.08.2019, 13:41:48
от pH43
Код вывести название страницы

Автор qvaro

Ответов: 1
Просмотров: 678
Последний ответ 24.11.2018, 18:33:07
от beliyadm
Смещаются элементы страницы при добавлении нового материала

Автор zare4nev_alexander

Ответов: 10
Просмотров: 654
Последний ответ 01.06.2018, 06:58:16
от draff