Мне встречались следующие условия вывода:
<?php if($this->countModules('позиция_для_публикации')) : ?> <div id="search2"> <jdoc:include type="modules" name="позиция_для_публикации" /> </div> <?php endif; ?> |
Стандартное условие вывода модулей. Дословный смысл:
Если есть опубликованный модули в позиции «позиция_для_публикации», то выводить контейнер div с модулем внутри.
<?php if(!$tmpTools->isFrontPage()) : ?> <div id="pathway"> <jdoc:include type="module" name="позиция_для_публикации" /> </div> <?php endif ; ?> |
Это условие на главную страницу. То есть если мы загрузили/не загрузили главную страницу, то выводить/не выводить
модуль в позиции «позиция_для_публикации».
Примеры:
<?php if(!$tmpTools->isFrontPage()) : ?> <div id="pathway"> <jdoc:include type="module" name="breadcrumbs_advanced" /> </div> <?php endif ; ?> |
Смысл: не выводить «pathway» (он же «путь по сайту») на главной странице, что вполне логично.
<?php if(!$tmpTools->isFrontPage()) : ?> <jdoc:include type="component" /> <?php endif ; ?> |
Не выводить компоненты на главной. Например, для создания вместо «главной» промо-страницы, без статей, блогов и прочего.
Как скрыть колонку и показать модуль только на страницах определенного типа
Небольшая инструкция:
В начальной части index.php шаблона (можно сразу после тега
<?php $option = JRequest::getVar('option', null); $view = JRequest::getVar('view', null); $task = JRequest::getVar('task', null); $layout = JRequest::getVar('layout', null); ?> |
Эти переменные могут быть использованы для распознавания компонентов их «задач», вьюх и шаблонов вывода.
Определив колонку которую необходимо скрыть и соответствующие для это условия можно добавить в шаблон сайта следующий блок кода:
<?php if( ($this->countModules('right') ) && ($option!='com_fireboard' && $option!= 'com_artforms' && !($view=='article' && $task=='edit') && !($option=='com_content' && $view=='article' && $layout=='form'))) : ?> <div id="right"><jdoc:include type="modules" name="right" style="xhtml" /></div></div> <?php endif; ?> |
В результате правая колонка не показывается если активный компонент либо FireBoard либо ArtForms или статья находится в режиме редактирования.
Этот пример может быть применен во многих других ситуациях если разобраться какие части URL определяют параметры option, task, view and/or layout. Для примера приведем URL с параметрами использованными в нашем условии чуть выше:
/index.php?Itemid=62&option=com_fireboard /index.php?task=edit&Itemid=71&option=com_content&id=56%3Amyarticletitle&view=article |
Версия на английском: Hide column to avoid width issues
Еще пример: как показать модуль только на странице полного просмотра статьи:
<?php if ($view != 'article') { ?> <jdoc:include type="modules" name="footer" /> <?php } else {} ?> |
Вариант для проверки сразу двух условий:
иногда просто необходимые условия