Позиции модулей в шаблонах joomla 3. Модули в Joomla — просмотр позиции, настройка и вывод, а так же назначение суффиксов класса. Просмотр позиций и менеджер модулей

Для опытных разработчиков Joomla добавить новую позицию модуля в шаблон - простая задача, а как насчет начинающих пользователей Joomla? Эта статья была создана для тех, кто только начинает работать с Joomla и пытается настроить шаблон для своих нужд. В этом уроке я покажу вам как добавить позицию модуля и ее настроить.

Итак, вы скачали красивый шаблон Joomla и вы установили на вашу систему Joomla. Вы понимаете, что чего-то все еще не хватает, хотите добавить слайдшоу, но доступная позиция модуля находится не в нужном месте.

Найдите и измените файлы шаблона

Прежде всего вам нужно найти файл index.php шаблона, который вы хотите изменить. Найти его можно в следующей папке: joomla_root/templates/ваш-шаблон/index.php, если Вы просматриваете файлы через FTP, или вы можете редактировать этот файл напрямую из панели администратора по ссылкам:

Расширения > Менеджер шаблонов > Шаблоны > Ваш шаблон. После этого вы увидите файлы и данные вашего шаблона.

Нажмите на файл index.php и вы сможете изменить этот файл во встроенном редакторе PHP Joomla, как на скриншоте:

Допустим, вы хотите добавить в слайд-шоу под меню навигации; найдите код, который выводит меню, и добавить код нового модуля позиции под ним.

countModules("menu")) : ?>

Вероятно, код меню будет выглядеть немного иначе в шаблоне, который вы используете. Чтобы безошибочно найти нужную позицию - выясните, под какой позицией модуля должна находится ваша новая позиция модуля. Например, если ваше навигационное меню находится в позиции navigation, то вам стоит искать такое название. Если позиция называется main_menu, то вам нужно искать это название.

Теперь добавьте код вашей новой установки модуля:

countModules("slideshow")) : ?>

Теперь при добавлении нового модуля в панели администратора Joomla “slideshow” позиция станет доступной в редакторе модулей.

Поздравляем! Вы проделали большую работу!

Если вы хотите задать стиль модуля, есть еще одна вещь, которую вам нужно сделать. Найти файл styles.css, который обычно находится в следующей папке: joomla_root/templates/yourtemplate/css/styles.css

Этот файл также можно редактировать в административной панели Joomla как вышеупомянутые файлы. Добавьте код CSS стилей в файл css и сохраните его.

#slideshow {margin: 0 auto; padding: 0; max-width:960px}

#slideshow img {width: 100%; display: block;}

Если шаблон является адаптивным, убедитесь, что новый стиль, который вы создали для модуля, будет также автоматически изменять размер, если вход на сайт осуществляется с устройства с меньшим экраном.

Надеемся, что эта статья пригодится вам в работе! Если у вас есть какие-либо вопросы, мы будем счастливы ответить на них

Если Вы знакомитесь и начинаете работать с CMS Joomla, то эта статья поможет Вам познакомиться с расширениями системы, улучшающими информативность сайта, под названием модули.

О модулях Joomla3

Модуль на Joomla сайте это как, листок с информацией, прикрепленный на страницы сайта.

При создании (верстке) шаблона, автор определяет, позиции модулей, то есть определенные места в разметке шаблоне, куда можно модуль поставить (закрепить модуль). Не будем относиться к CMS Joomla и её шаблонам как данности, вы сами всегда можете добавить свою позицию или несколько позиций модулей. Об этом лучше почитать статью (Как добавить свою позицию модуля в шаблон Joomla 3). В этой статье нас интересуют только позиции модулей заданных в шаблоне по-умолчанию.

Смотрим Позиции модулей CMS Joomla сайта

В ранних версиях Joomla! посмотреть позиции модулей шаблона можно было только одним способом. Для этого нужно было дописать к адресу главной страницы сайта (/?tp=1). Более того, в версии Joomla 1.5, нельзя было отключить показ позиций модулей, и любой мог, дописав заветные символы посмотреть позиции модулей вашего сайта.

Файл, определяющий вывод модулей лежит тут: корень/libraries/cms/module/helper.php. Лишний раз лезть в код сайта не будем, поэтому посмотрим, как включить показ позиций модулей и как посмотреть эти позиции из административной панели сайта.

Как включить просмотр позиций модулей Joomla 3

Чтобы включить показ расположения модулей на Joomla 3, идем следующим из верхнего меню:

  • Система→Общая настройка→Менеджер шаблонов. На странице ищем «Просмотр позиций модулей» и ставим позицию «Включено».

Теперь, после включения можно посмотреть расположение модулей на фронтэнд сайта.

Смотрим расположение модулей Joomla 3 на сайте

Посмотреть наглядно позиции модулей CMS Joomla 3, можно в менеджере шаблонов. Для этого нажимаем значок «глаз» в строке с рабочим шаблоном. Если просмотр включен (разрешен), то «глаз» будет НЕ красный, а синий.

class="eliadunit">

Второй вариант просмотра модулей остался со старых времен:

  • Сначала разрешаем просмотр позиций модулей,
  • Потом, дописываете к адресу главной страницы сайта /?tp=1,
  • Обновив страницу, визуально смотрите, где автор шаблона навешал модули.

Примечание: Другого варианта визуального показа позиций модулей Джумла нет.

Кроме всего вышесказанного, все позиции модулей прописаны по их названиям на странице создания типа модуля в графе: «Выбрать позицию». Если на сайте установлены несколько шаблонов, вы увидите все модули всех включенных шаблонов. Это неудобно и лучше отключить нерабочие шаблоны фронтэнд на вкладке: Расширения→Менеджер расширений→Управление→Тип расширений: Шаблоны.

Примечание: В коде CMS Joomla! модули прописываются в файле: index.php шаблона. Position модулей с их названиями прописываются в файле: /templates/Рабочий_шаблон/templateDetails.xml.

Отличительной чертой Joomla является возможность взаимодействия с различными внешними приложениями. Многообразие расширений Joomla позволяет нам оснащать сайт всем необходимым. Всё, что видит пользователь на сайте, создается предустановленными или сторонними расширениями Joomla: . Для вывода компонента обычно предусмотрена центральная область шаблона, а вот количество и месторасположение модулей зависит только от нашей фантазии и необходимости.

Что такое позиция модулей в шаблоне?

Позиция модулей это область шаблона, предназначенная для отображения опубликованных в ней модулей сайта. В одной позиции могут быть опубликовано неограниченное количество модулей. Порядок отображения модулей в позиции настраивается в Менеджере модулей административной панели Joomla.

Как узнать, какие есть позиции модулей в шаблоне?

Для определения имеющихся позиций модулей в шаблоне существует два метода:

  1. Найти в файле index.php шаблона все вызовы функции mosLoadModules , и посмотреть первый аргумент этой функции.
  2. Установить интересующий вас шаблон на сайт, а затем, в адресной строке браузера, после имени сайта добавить ?tp=1 . Например, если вы хотите узнать, какие позиции шаблонов определены на , просто наберите: http://сайт/?tp=1 .

Как добавить позицию модулей в шаблон?

Позиции для модулей задаются в файле index.php шаблона с помощью функции mosLoadModules:

mosLoadModules($position_name , $style);

$position_name - имя позиции, $style - стиль вывода модуля

Для удобства начинающих пользователей, в Joomla! уже созданы базовые имена позиций для модулей (параметр $position_name ):

Advert1, advert2, advert3, banner, bottom, cpanel, debug, footer, header, icon, inset, left, legals, newsflash, pathway, right, toolbar, top, user1, user2, user3, user4, user5, user6, user7, user8, user9.

Примечание: не забудьте, это всего лишь имена позиций, сами позиции для модулей Вы должны задать в своем шаблоне. Если Вы опубликуете модуль, к примеру, в позиции footer , не задав ее в шаблоне, то модуль не будет показан на сайте.

Все имена позиций для модулей Joomla абсолютно равнозначны. Для добавления, удаления или изменения названия позиций выберите пункт меню «Сайт->Шаблоны->Расположение модулей» (Site->Template Manager->Module Positions).

Стили отображения модулей определены в файле includes/frontend.html.php . В настоящее время поддерживаются следующие стили (параметр $style ):

  • mosLoadModules("position") - используется для стандартного вывода модулей в таблицах
  • mosLoadModules("position", 1) - используется для вывода модулей горизонтально
  • mosLoadModules("position", -1) - используется для вывода модулей без таблиц и блоков div, у модуля не будет заголовка
  • mosLoadModules("position", -2) - используется для вывода модулей блоками div
  • mosLoadModules("position", -3) - используется для создания в модуле круглых углов

Примечание: параметр $style отвечает за способ вывода модулей в позиции. А вот внешнее оформление модулей задается уже непосредственно в файле template_css.css шаблона.

Например, если мы хотим определить позицию модулей left , и желаем чтобы модули отображались не в таблице, а в слоях, то необходимо в шаблоне вставить следующий код:

.

Как известно, в Joomla, для того, чтобы вывести модуль на страницы сайта, нужно указать его позицию. То-есть место на странице, где он будет отображаться. Чтобы не искать подходящее место методом тыка, удобнее будет включить предварительный просмотр позиций модулей шаблона.

Как включить отображение позиций модулей

Заходим в админку Jooomla. На верхней панели выбираем «Расширения» из выпадающего списка выбираем пункт «Менеджер шаблонов»

На открывшейся странице, вверху справа выбираем «Настройки»

Откроются настройки менеджера шаблонов. На вкладке «Шаблон» включаем просмотр позиций модулей.

Сохраняем изменения.

Для того, чтобы просмотреть позиции модулей, откройте главную страницу своего сайта и в адресной строке добавте к ссылке окончание /?tp=1 . Должно получится что-то типа my-site.com/?tp=1 . После обновите страницу. У вас должен получится похожий результат.

Просмотреть позиции модулей также можно через менеджер шаблонов.

Для этого выбираем «Расширения» — «Менеджер шаблонов». В боковой колонке выбираем вкладку «Шаблоны». Откроется список установленных шаблонов.

Часто CMS Joomla называют сложной системой со сложным кодом и сложным построением шаблонов. Это на самом деле так и Joomla несколько сложнее WordPress, но значительно проще Drupal. Главное понять, какой файл за что «отвечает» и как их безопасно редактировать.

Сегодня, я начну развенчивать сложность кода Joomla и покажу, как быстро и просто добавить свою, назовем её пользовательскую, позицию для модулей в любое место шаблона. Причем данный способ универсальный и работает на любом шаблоне Joomla, включая шаблоны для Интернет магазина.

  • Где скачать шаблон Joomla – 39 реальных авторов Joomla шаблонов
  • Одностраничные шаблоны Joomla: назначение, особенности использования
  • Создаем шаблон Joomla самостоятельно, часть 1: каталог шаблона, файлы templateDetails.xml и index.php

Постановка задачи

Для начала ставим четкую задачу. Необходимо, добавить в рабочий шаблон сайта дополнительную позицию для модулей. Опережая повествование, таких позиций можно добавить, столько сколько нужно, в конце статьи я добавлю две.

Вместо предисловия

  • Напомню, в Joomla 3 редактировать файлы шаблона можно на вкладке Расширения→Менеджер шаблонов →Шаблоны .
  • Для безопасного редактирования, редактируемый файл шаблона копируется, переносится в текстовой редактор и там редактируется. При этом оставляется первоначальная копия файла на случай неудачного редактирования.
  • И на всякий случай, любое редактирование кода нужно начинать, имея под рукой полную копию сайта.

Решение задачи, добавить свою позицию модуля в шаблон Joomla 3

Для редактирования нам нужны два файла рабочего шаблона: index.php и templateDetails.xml .

Идем в Расширения→Менеджер шаблонов . В столбце «Шаблоны» выбираем рабочий шаблон и жмем для редактирования.

На странице редактора ищем файл index.php – основной файл шаблона.

Выбираем место, куда хотим вставить пользовательский модуль, и вставляем строку:

Примечание: Как видите в строке не указано значение атрибута style . Это значит, что при создании модуля в меню «дополнительные параметры» вы можете указать любой стиль модуля из рабочего шаблона или из стилей system .

На фото вы видите, что я задал единственный стиль для этой позиции sidebar. Поэтому при создании модуля в дополнительных настройках указываем «унаследовано» или «sidebar» рабочего шаблона.

class="eliadunit">

В конце списка с позициями модулей вставляем строку:

custom-position

Опять не забываем сохраняться.

В принципе все. Чистим кеш сайта, идем в менеджер модулей и создаем любой модуль в пользовательской позиции. Пользовательская позиция Custom-position появляется в списке позиций.

Смотрим результат.

Добавляем две новые позиции для модулей

Для примера я создал еще одну позицию для модулей. Делаем все тоже самое, только позиции даем другое название, например custom-positionA. Эту позицию я вынес за формы добавления модулей и разместил ее сразу после закрывающего тега , чтобы позиция появилась сразу после заголовка сайта.

Смотрим результат.

Теперь вы знаете, как добавить свою позицию модуля в шаблон Joomla 3

Кстати, когда я делал примеры для статьи, на демонстрационном шаблоне нашел вирусный код, который успешно удалил , чего и вам желаю.

Похожие публикации