Создание шаблона Joomla за 6 шагов. Шаг 5.
В предыдущих уроках данной темы мы сделали простой, но уже вполне пригодный шаблон для использования в системе Joomla.
Но в нем всегда будут отображаться три колонки, вне зависимости от того, есть в колонке какое-нибудь содержание или нет. Для шаблона CMS данный факт является недостатком. Статичный сайт меняется редко, но для динамического сайта под управлением Joomla нужно предоставить возможность администратору изменять содержание любой колонки без правки шаблона CSS. Поэтому перед нами стоит задача автоматически отключать или сворачивать колонку, если в ней нет никакого содержания.
Joomla 1.6 предоставляет простой способ определять количество модулей, которые генерируют содержание для определённой позиции. Таким образом, мы можем разместить проверку такого счетчика в PHP коде, чтобы скрыть пустые колонки и соответственно настроить шаблон. Код PHP для такой проверки будет выглядеть следующим образом:
<?php if($this->countModules('условие')) : ?>
<!-делаем что-то, если условие выполняется-->
<?php else : ?>
<!-делаем что-то, если условие НЕ выполняется-->
<?php endif; ?>
Условие - строка, в которой указывается имя позиции или комбинация имен позиции с ключевыми словами. За более подробной информацией о функции countModules и правилах написания условий обращайтесь к документации по Joomla.
Для проверки работы функции можно вставить следующий код в конец раздела body в в файле index.php нашего шаблона:
left=<?php echo $this->countModules('left');?><br />
left and right=<?php echo $this->countModules('left and right');?><br />
left or right=<?php echo $this->countModules('left or right');?><br />
left + right=<?php echo $this->countModules('left + right');?>
После сохранения изменённого файла index.php и перезагрузки страницы сайта получим следующую картину (важная информация заключена в красный квадрат):
Рассмотрим подробнее, что получилось:
countModules ('left')возвращает 3, потому что в позиции left три модуля выводят содержание;countModules('left and right')возвращает 1, потому что в обеих позициях left и right присутствует содержание, выводимое модулями;countModules('left or right')возвращает 1, потому, что либо в позиции left, либо в позиции right присутствует содержание, возвращаемое каким-либо модулем;countModules('left + right')возвращает 4, потому что количество модулей, которые выводят содержание в позиции left и right равно четырем.
Теперь, когда есть представление о том, как проверить наличие содержания в позиции, нужно задействовать функцию countModule , чтобы динамически изменять наш шаблон в соответствии с содержание колонок.
Решить задачу можно различными методами. В нашем шаблоне будет использоваться преимущество сеточной разметки. Мы будем изменять ширину колонки в зависимости от содержания.
Изменим файл index.php нашего шаблона.
Перед контейнером content добавим следующий код PHP:
<?php
$leftcolgrid= "3";
$rightcolgrid= "3";
if ($this->countModules('left') == 0):
$leftcolgrid = "0";
endif;
if ($this->countModules('right') == 0):
$rightcolgrid = "0";
endif;
?>
Здесь определяются две переменные, значение которых будет использоваться для составления имени класса, применяемого для колонки. А функция countModule используется для определения наличия содержания в левой или правой колонке.
Код контейнера также изменим, чтобы изменять класс, применяемый к позиции, в зависимости от наличия содержания в колонке:
<div id="content" class="container_12"> <div id="sidebar" class="grid_<?php echo $leftcolgrid;?>"> <jdoc:include type="modules" name="left"style="xhtml"/> </div> <div id="maincolumn" class="grid_<?php echo(12-$leftcolgrid-$rightcolgrid);?>"> <jdoc:include type="modules" name="breadcrumbs" style="xhtml" /> <jdoc:include type="component" /> </div> <div id="sidebar-2" class="grid_<?php echo $rightcolgrid;?>"> <jdoc:include type="modules" name="right" style="xhtml" /> </div> </div>
Для основной колонки maincolumn имя класса будет формироваться как результат простого арифметического действия. А в результате мы получим класс соответствующий нужной ширине колонки.
Сохраним изменения в файле index.php. Для проверки действия нашего кода были сняты с публикации все модули, привязанные к позиции left. В результате, сайт с нашим шаблоном стал выглядеть следующим образом:
Обратите внимание, что ширина центральной колонки корректно изменилась. Если использовать предыдущую версию шаблона, то отсутствие содержания в левой колонке приведёт к простому смещению всего остального контента влево, что будет выглядеть на шаблоне неприглядно.
В следующем уроке мы изменим шаблон так, чтобы он не выводил код пустых блоков.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/wr4x14K4zAg/lessons.php
|
В предыдущих уроках данной темы мы сделали простой, но уже вполне пригодный шаблон для использования в системе Joomla. Но в нем всегда будут отображаться три колонки, вне зависимости от того, есть в |
РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2026-05-28 » Как выбрать и законно использовать стоковые фото для сайта
- 2026-05-28 » Как составить УТП для сайта, которое выделит вас на фоне тысяч серых шаблонов
- 2026-05-28 » «Белый перечень» онлайн-площадок, сохраняющих доступность при отключении мобильного интернета, — что в него попало
- 2026-05-28 » Не туда пишете: как фатальная ошибка в целевой аудитории убивает даже самый качественный контент
- 2026-05-28 » Как оставить отзыв на Яндекс Картах, чтобы модерация его точно пропустила
- 2026-05-23 » Yandex Commerce Protocol: как интернет-магазинам продавать через Алису AI
- 2026-05-23 » Красивые баннеры не продают: почему в 2026 году побеждает простота
- 2026-05-23 » Управление репутацией в 2026 году: нейровыдача как единая система влияния на клиента
- 2026-05-23 » 168-ФЗ 2026: инструкция по русификации сайта
- 2026-05-23 » Куда идти, если Телеграм окончательно заблокируют
- 2026-05-15 » Как происходит утечка данных и как с этим бороться
- 2026-05-15 » B2B-сайт не продает: 5 ошибок UX, которые превращают лидов в призраков
- 2026-05-15 » Как выбрать качественный и недорогой хостинг: правда о дешёвых тарифах
- 2026-05-15 » Зачем сайту SSL-сертификат и как получить его бесплатно прямо сейчас?
- 2026-05-15 » 7 причин медленной работы сайта: почему уходят клиенты и как это исправить
- 2026-05-07 » Будущее без cookies: альтернативные решения для идентификации пользователей
- 2026-05-07 » Маркетинговые приемы: как механики продаж управляют выбором покупателя
- 2026-05-07 » Чем грозят дублированный контент и пустые страницы: ошибки, которые убивают ваш трафик
- 2026-05-07 » Open Source — что должен знать бизнес перед тем, как взять чужой код
- 2026-05-07 » ИИ и Google: как 1446 сайтов вылетели из поиска и как вам избежать подобного
- 2026-05-03 » ГИГАНТЫ ОХОТОМОРЬЯ: Как исполнить мечту и поплавать с китами на краю Земли
- 2026-05-02 » Почему люди всё реже «гуглят» и как ИИ-поиск меняет интернет
- 2026-05-02 » Как дизайн формирует восприятие бренда?
- 2026-05-02 » Сайты и приложения проверят использование VPN у россиян
- 2026-05-02 » Как предотвратить утечку информации в компании
- 2026-05-02 » Как влиять на иррациональное поведение покупателей
- 2026-04-17 » Дырявая воронка продаж: где вы теряете клиентов и как это лечит CRM
- 2026-04-17 » ИИ‑контент против человека: как найти золотую середину
- 2026-04-17 » Сайты 2026–2027: почему побеждают простые и быстрые
- 2026-04-17 » Формы сбора согласий на сайте
Человек - аристократ среди животных Гейне Генрих - (1797-1856) - немецкий поэт и публицист |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.

Мы создаем практически любые сайты от продающих страниц до сложных, высоконагруженных и нестандартных веб приложений! Наши сайты это надежные маркетинговые инструменты для успеха Вашего бизнеса и увеличения вашей прибыли! Мы делаем красивые и максимально эффектные сайты по доступным ценам уже много лет!
Комплексный подход это не просто продвижение сайта, это целый комплекс мероприятий, который определяется целями и задачами поставленными перед сайтом и организацией, которая за этим стоит. Время однобоких методов в продвижении сайтов уже прошло, конкуренция слишком высока, чтобы была возможность расслабиться и получать \ удерживать клиентов из Интернета, просто сделав сайт и не занимаясь им...
Мы оказываем полный комплекс услуг по сопровождению сайта: информационному и техническому обслуживанию и развитию Интернет сайтов.
Контекстная реклама - это эффективный инструмент в интернет маркетинге, целью которого является увеличение продаж. Главный плюс контекстной рекламы заключается в том, что она работает избирательно.