Хитрости с отображениями модулей в Joomla

Дорогие читатели, сегодня я хочу представить вашему вниманию Хитрости с отображениями модулей в Joomla. Что именно представляют эти  хитрости:

  • отображения модуля только на определённых страницах;
  • отображения модуля по IP-адресу или диапазону адресов;
  • отображение модуля только определённому типу пользователей;
  • отображение модуля при полном просмотре текста или новости.

Все эти хитрости мы осуществляем с помощью кусочка кода, внедрённого в шаблон сайта. И так, начнем:

Отображения модуля только на определённых страницах

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

<?php
  if (($option == '') || ($option == 'com_frontpage')) {
    mosLoadModules ( 'user1' );
  }
?>

В этом примере мы выводим позицию модулей user1, только на главной странице.

Отображения модуля по IP-адресу или диапазону адресов

Если нужно что б модули отображались только для определённого IP-адреса или диапазона адресов, нужно использовать следующий код:

<?php
  if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
    mosLoadModules ( 'user1' );
  }
?>

И так, для человека с IP-адресом 127.0.0.1 будет отображаться позиция модулей user1, а  для остальных нет.

Отображение модуля при полном просмотре текста или новости

Для того что б  модули отображались лишь при полном просмотре материала, нужно использовать следующее:

<?php
  if (($option == 'com_content') && ($task == 'view')) {
    mosLoadModules ( 'user1' );
  }
?>

Обратить внимание переменную $task с ее помощью мы осуществляем проверку.

Отображение модуля только определённому типу пользователей

И напоследок, выводим модули только для определённых пользователей:

<?php
  if (!$my->id) {
    mosLoadModules ( 'user1' );
  } else {
    mosLoadModules ( 'user2' );
  }
?>

Если на сайт заходит не зарегистрированный или не авторизованный пользователь, то в шаблоне загрузятся модули, опубликованные в области user1, а если зарегистрированный — загрузится позиция user2.

Также можно отобразить модули для определённых групп пользователей:

<?php
  if ($my->usertype == 'Author') {
    mosLoadModules ( 'user1' );
  }
?>

Ну тут все понятно.

А какие еще хитрости с работой Joomla, Вы хотели бы узнать?

Всем спасибо за внимание и до скорого.

Постовой: Поскольку бензин нынче дорог, вы можете воспользоваться  услугой установка гбо на ваш автомобиль в компании AvtoGaz

Яcreated’s blog

Получать обновления ЯcReated’s blog:

Хитрости с отображениями модулей в Joomla: 8 комментариев

    • Нужно читать внимательнее статью: "…Все эти хитрости мы осуществляем с помощью кусочка кода, внедрённого в <strong>шаблон сайта</strong>."

  1. тю ну так любой сможет а чтобы модуль показывалса тольков в категории новости? слабо? тота!

    • сам спросил, сам ответил и сам объяснил почему ответ неправильный… умиляют такие комментаторы )))
      а если по теме — надо просто добавить условие для ID категории, куча материала про это в сети

  2. да и чуть не забыл для какой категории показывать модуль должно выбиратса в админке а в коде любой дурак кроме закащика сможет, так вот чтобы не дёргатса.

    • 2миуин, ты наверно школота если считаешь что в коде может любой дурак, не зная что очень просто настроить модуль на отображения в определённых категориях через админку. имхо.

Обсуждение закрыто.