Большинство шаблонов имеют две колонки в дополнение к основной панели, где компонентный выход отображается, как правило, левой и правой колонке. Много раз, модули назначены все пункты меню, которое означает, что они появятся на большинство, если не все страницы.
Некоторые из этих страниц, однако, может иметь компонентный выход которого требуется больше, чем ширина главной панели обеспечивает содержание, и это особенно верно с фиксированной шириной шаблонов. В результате компонентный выход может перекинуться нормальной ширины главной панели содержимого. В зависимости от шаблона это может привести к панели содержимого или столбца толкают вниз, или на панели содержимого исчезают под колонки.
Некоторые примеры, когда это обычно бывает при редактировании статьи в переднем конце, или на страницы.
Для решения этого часто достаточно иметь один столбец меньше на тех страницах, где проблема возникает. Чтобы сделать это, регулируя меню назначение модулей в этом столбце является громоздкой и, если нет относительно пункта меню, непрактично.
Работы вокруг, чтобы отображение правой колонке условное, сделав несколько изменений в шаблоне.
В верхней части файла index.php из шаблона, только после определен ("_JEXEC ') или умереть (" Ограниченный доступ ");, вставить следующий текст:
$option = JRequest::getVar('option', null); $view = JRequest::getVar('view', null); $task = JRequest::getVar('task', null); $layout = JRequest::getVar('layout', null);
Эти переменные могут быть использованы для признать компонентов и их различных задач, мнения и макетов.
Тогда, если шаблон содержит код для настройки ширины столбцов в зависимости от того, каких-либо модулей приведены в этой колонке,
вы должны изменить этот код, чтобы исключить компонентный выход в вопросе.
Ниже приведен пример:
if(($this->countModules('left and right')==0)&&($option!='com_fireboard' && $option!= 'com_artforms' && !($view=='article' && $task=='edit') && !($option=='com_content' && $view=='article' && $layout=='form'))) $contentwidth="wide"; if($this->countModules('left')) $contentwidth="oneside"; if(($this->countModules('right'))&&($option!='com_fireboard' && $option!='com_artforms' && !($view=='article' && $task=='edit') && !($option=='com_content' && $view=='article' && $layout=='form'))) $contentwidth="oneside"; if(($this->countModules('left and right') == 1)&&($option!='com_fireboard' && $option!= 'com_artforms' && !($view=='article' && $task=='edit') && !($option=='com_content' && $view=='article' && $layout=='form'))) $contentwidth="";
Наконец, где вы найдете столбца, который вы хотите скрыть изменения кода на что-то вроде следующего:
<?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-адресов, что пример основан на следующие:
/index.php?Itemid=62&option=com_fireboard /index.php?task=edit&Itemid=71&option=com_content&id=56%3Amyarticletitle&view=article
