Некоторое время назад при разработке плагина для отображения возрастных ограничений сайта под названием StopKids, мне пришлось решать задачу определения, какая страница открыта: главная или нет ( в плагине есть опция - показывать только на главной странице).

Задача была решена и функция для определения Главной страницы (Домашней страницы) выглядит следующим образом:

function ShowOnFP() {

          $fpage = false;

            $document = JFactory::getDocument();

           $app  = JApplication::getInstance('site');
          $menu = $app->getMenu();

          //Получили главное меню

          $home = $menu->getDefault($document->language);
          $active = $menu->getActive();
          //Если мы находимся на домашней странице
          if (is_object($home) && ($active == $home))
            $fpage=true;

            return $fpage;

        }

Здесь пришлось прибегнуть к определению активного пункта меню (который выбран) и сравнению его с "домашним".

Таким образом определить, что мы находимся на главной странице можно следующим образом:

if (ShowOnFP()) {
...
}

В самом плагине это реализовано чуть иначе (внутри класса и + там добавлено определение настроек из плагина), но смысл тот же.

Надеюсь Вам эта функция пригодится.

К слову, она работает на Joomla 1.5, Joomla 2.5 и Joomla 3.4.

Add comment


Security code
Refresh