В этой записке речь пойдёт о способе вывода модулей CMS Joomla, там, где это необходимо. В этом движке уже есть функции разграничения вывода модулей по пунктам меню.
- Отображения на всех страницах (Все)
- Не отображать модуль (Нет)
- Отображать только на определённых страницах (Выбрать из списка).
Как вы понимаете, это не очень удобно, часто бывает нужно выводить модули на всех страницах, кроме нескольких. Конечно, можно воспользоваться выбором из списка, но тогда при создании новых страниц, нужно каждый раз вручную отмечать новые страницы для вывода модуля.
Есть способ ограничить вывод по адресу страницы (URL). Для его использования мы внесём изменения в шаблон сайта, добавив PHP код:
<?php
$uri = &JFactory::getURI();
$url = $uri->toString(array('path', 'query', 'fragment'));
$homepage = '/';
$workspage = '/works.html';
$pricepage = '/price.html';
$contactpage = '/contact.html';
?>
<?php if ($url == $homepage or $url == $workspage or $url == $pricepage or $url == $contactpage) { ?>
<?php } else { ?>
<jdoc:include type="modules" name="modul" />
<?php } ?>
Давайте более подробно рассмотрим этот код:
Соберем массив всех адресов (URL):
<?php
$uri = &JFactory::getURI();
$url = $uri->toString(array('path', 'query', 'fragment'));
?>
<?php
$homepage = '/';
$workspage = '/works.html';
$pricepage = '/price.html';
$contactpage = '/contact.html';
?>
Задаём условие равенства переменных, если URL (адрес) равен исходному, то ничего не отображаем, иначе выводим HTML код с модулем:
<?php if ($url == $homepage or $url == $workspage or $url == $pricepage or $url == $contactpage) { ?>
<?php } else { ?>
<jdoc:include type="modules" name="modul" />
<?php } ?>
Как видите, всё работает. Конечно, можно использовать этот метод для вывода не только модулей, но и любого другого кода в шаблоне вашего сайта. Пользуйтесь :)
Мы создадим красивый сайт для Вас.
Бесплатная консультация по телефону: