Условия в шаблонах

Что это и зачем они нужны? 

Простейший пример применения условий в шаблонах 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. Наример выводить контент только на определенной странице, показывать блоки только авторизованным пользователям и т.д. В общем — использовать параметры платформы  в наших шаблонах.

0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.