Простейший пример применения условий в шаблонах Joomla. У нас имеется сайт, на главной странице которого мы выводим левую колонку, ну внутренних страницах правую, или вообще никаких левых/правых контитулов, в только один контент-блок во всю ширину рабочей области. Или еще проще пример, выключаем модуль в позиции, вместе с ним прячется и вся разметка блока, обрамляющего модуль. Это и есть работа условий шаблона.
В любом языке программирования существуют так называемые условные операторы:
if условие then команды end // условный оператор с одной ветвью.
if условие then команды1 else команды2 end // условный оператор с двумя ветвями
Благодаря им и задаются Различные условия в шаблонах Joomla. Берем нужный нам параметр и задаем условия согласно его значению. Ничего архисложного, как видите. Разберем вышеописанные примеры:
готовые рецепты
$showLeftColumn = ($this->countModules('menu') or $this->countModules('mod'));
/* Создаем переменную $showLeftColumn значением которой будет проверка включения модулей в
*/
/* позции
menu или mod. Для удобства переменные принято объявлять вначале документа. */
<?php if($this->countModules('menu') or $this->countModules('mod')) : ?>
<!-- Универсальное условие для проверки подключенных модулей в позиции -->
<section class="left">
<jdoc:include type="modules" name="menu" style="menu"/>
<aside><jdoc:include type="modules" name="mod" style="modbox"/></aside>
</section>
<?php endif; ?>
<section class="articles<?php if ($showLeftColumn==NULL){ echo ' bigger';} ?>">
<!-- Если переменная $showLeftColumn==NULL, то есть в позициях menu и mod пусто, то к
class="articles" добавится bigger. class="articles bigger" -->
<div class="content">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
</section>
<style>
.left{width:240px;float:left;}
.articles{margin:0 0 0 250px;float:right;}
.articles.bigger{margin:0;float:none;}
</style>
Так же можно строить условия по значению параметров Joomla. Наример выводить контент только на определенной странице, показывать блоки только авторизованным пользователям и т.д. В общем — использовать параметры платформы в наших шаблонах.