Модули Joomla: Самое подробное руководство

Модули Joomla: Самое подробное руководство

Что такое модули Joomla

Модули Joomla – один из основных видов расширений этой CMS. Наряду с модулями, существуют также компоненты, плагины и шаблоны. Модули – это, определенно, одна из причин использовать Joomla для создания сайта.

Модули представляют собой блоки с какой-либо информацией, встраиваемые в шаблон, контент и другие места на сайте. Давайте посмотрим примеры модулей на сайте wedal.ru:

Модули Joomla

Все зеленые блоки – модули Joomla. Синий блок – компонент Joomla.

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

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

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

a*x1 + a*x2 + b*x3 + b*x4

Давайте представим, что x1, x2, x3, x4 – разные страницы сайта с разным контентом, например, статьи. А aи b – это какой-то повторяющийся контент, который должен быть на этих страницах. Пусть a – это набор картинок, а b – большая таблица с данными.

С одной стороны, мы можем создать 4 страницы с контентом и вставить в редакторе на двух из них одинаковые наборы картинок и на двух других – одинаковые таблицы. Это будет работать. И это как раз будет иллюстрировать формулу, которую я написал выше. Но есть одна проблема.

Что если нам понадобится изменить одну из картинок или информацию в таблице? Придется открывать каждую статью, где они встречаются, и вручную изменять ее содержимое. Хорошо, если таких статей всего 4, как в примере. А если их 40? 400? Становится не очень весело.

Какое есть решение? А давайте запишем нашу формулу в виде:

a*(x1+x2) + b*(x3+x4)

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

В этом и заключается основной смысл модулей.

Стандартные модули Joomla

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

Стандартные модули Joomla

Стандартный набор охватывает практически весь типовой функционал. Здесь есть:

  • Вставка html-кода
  • Меню
  • Форма авторизации
  • Список статей/категорий/тегов
  • Хлебные крошки
  • Поиск

Если вы видите что-то из вышеперечисленного на сайте, то с вероятностью 99% перед вами модуль Джумла.

Самую большую часть набора представляют модули вывода материалов. Не все из них идеальны, но большинство вполне годные.

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

Как установить модуль

Если вы хотите установить дополнительный модуль в Joomla, первым делом вам нужно скачать архив с ним. Чаще всего модули, как и другие расширения Joomla, поставляются в виде отдельных архивов с расширением .zip .

Когда вы скачали такой архив, в админке нужно перейти в Расширения –> Менеджер расширений –> Установка, убедится, что активна вкладка Загрузить файл пакета, и, собственно, выбрать файл модуля у себя на компьютере. Что может быть проще?

Установка модуля

Также есть два альтернативных варианта установки модуля.

  • Установить модуль прямо из Интернета, перейдя на вкладку Установить из URL, и указать ссылку на файл модуля.
  • Перейти на вкладку Установить из JED, найти подходящий модуль и воспользоваться кнопкой установки.

И хотя этот вариант установки из JED кажется наиболее простым и логичным, я не рекомендую вам его использовать. Случается, что при прямой установке из JED вы получаете далеко не самую свежую версию модуля. Лучше все-таки лично посетить JED (каталог расширений Joomla), подобрать там модуль, а затем перейти на сайт разработчика и скачать его уже там.

В целом же установка модулей Joomla очень проста. С ней легко справится даже новичок.

Шаг 2: Настройка нашего XML-файла

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

0102030405060708091011     MOD_MIXCLOUD_WIDGET    B4ucode    May 2012    Copyright (C) 2011 – 2012. All rights reserved.    

  • GNU General Public License version 2 or later;    info@b4ucode.com    www.b4ucode.com    1.0.0    MOD_MIXCLOUD_WIDGET_XML_DESCRIPTION
  • Расширение основного тега имеет несколько атрибутов:

    • type: сообщает Joomla, какой тип расширения устанавливается, в данном случае module .
    • версия: Указывает установщику, для какой версии Joomla мы создаем модуль.
    • Метод: Есть два варианта: new и upgrade . Мы будем использовать обновление, в случае каких-либо будущих обновлений модуля, он просто обновит то, что в данный момент существует.
    • клиент: Указывает, является ли модуль внешним или внутренним модулем.

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

    Файлы модуля

    Как упоминалось ранее, файл манифеста содержит информацию о файлах, используемых в модуле. Во время установки Joomla проверяет файл манифеста для всех файлов, которые должны быть добавлены в систему. Если какой-либо из файлов отсутствует, Joomla выдаст ошибку, объясняя отсутствующие файлы. Любые файлы, найденные в модуле, которые не перечислены в файле XML, не добавляются в систему вместе с другими. Добавьте следующий фрагмент в файл манифеста.

    123456     mod_mixcloud_widget.php    tmpl    index.html    mod_mixcloud_widget.xml

    Вместо того, чтобы писать строку для каждого файла в папке, мы просто используем элемент folder. Этот элемент даст указание установщику установить все файлы в этой папке.

    Языковые файлы

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

    1234     language/en-GB.mod_mixcloud_widget.ini    language/en-GB.mod_mixcloud_widget.sys.ini

    Добавление параметров

    Некоторые расширения не работают прямо из коробки, но требуют добавления определенных параметров: эти параметры называются параметрами и определяются в файле манифеста.

    Первый элемент – это config который содержит другие элементы, которые будут отображаться в формате HTML. Элемент с именем field является основой наших параметров, где вы можете определить, какой тип данных формы вы хотите отобразить. Этот элемент на своем базовом уровне состоит из некоторых основных атрибутов:

    • type: тип поля формы, такого как текст, текстовое поле, флажки, радио и календарь.
    • name: элемент name поля формы для отображения.
    • default: значение по умолчанию для поля.
    • label: текст, отображаемый в начале поля формы.
    • description: описание, которое будет отображаться во всплывающей подсказке при наведении на поле формы
    • Существуют различные атрибуты, поскольку они различаются в зависимости от типа поля формы, например размера, фильтра, исключения, каталога и т.

    010203040506070809101112131415161718192021222324252627282930313233                                                                                                                                                                     

    Вы можете заметить, что мы написали метки и описание в некоторых заглавных символах, таких как MOD_MIXCLOUD_WIDGET_FEED_TITLE . Это строки, которые мы сделаем переводимыми при создании наших языковых файлов.

    Сколько модулей может быть на странице

    Последнее, о чем хочется поговорить во вводной части – допустимое количество модулей на сайте.

    Освоить модули легко. Установить еще легче. Если вы только недавно познакомились с Joomla, то можете словить эйфорию от работы с ними. Не поддавайтесь ей.

    Если вы подбираете для сайта интересный модуль, делайте это на тестовом сайте. Не устанавливайте на боевой сайт всё подряд. Это может аукнуться когда-нибудь в будущем.

    Другой вариант – веб-мастер делает на модулях весь сайт, вообще забывая про компоненты. За время работы мне доводилось видеть несколько проектов, на которых использовались сотни модулей (нет, не уникальных, но экземпляров какого-нибудь одного, например html-кода). Бывают редкие случаи, когда такое количество модулей оправдано, но это должен быть очень большой проект с очень сложным дизайном.

    В основном 50 модулей на сайте – это максимум, после которого вы должны задуматься, о том, что что-то делаете не так. Если у вас большой и сложный сайт (сильно больше и сложнее, чем wedal.ru), то умножьте эту цифру на два.

    Для обычных информационных сайтов или интернет-магазинов норма 10-30 модулей (включая экземпляры одного модуля).

    Управление модулями Joomla

    Управление модулями Joomla с одной стороны очевидное, но с другой стороны содержит очень много тонкостей, о которых важно помнить. Далее мы рассмотрим их.

    Прежде всего, нужно понимать, чем отличается уникальный модуль от экземпляра модуля.

    Уникальный модуль – такой, который устанавливается, как отдельное расширение и занимает отдельную папку в Joomla.

    Экземпляр модуля – отдельно хранящаяся (в базе данных) конфигурация уникального модуля.

    Чтобы было проще понять, давайте рассмотрим такой пример. Предположим, у нас на сайте есть слайдеры на двух разных страницах. Сами (функционально) они одинаковые, но должны иметь разный контент. Например, в одном слайдере две картинки, а в другом три другие. Также первый прокручивается автоматически, а второй нет.

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

    У одного уникального модуля может быть неограниченное количество экземпляров. Еще раз повторю. Экземпляр – это совокупность настроек модуля, хранящаяся в базе данных и всё. Хотя есть, конечно, и более сложные случаи. О них поговорим позднее.

    Просмотр модулей Joomla

    Для начала давайте разберемся с тем, как посмотреть уникальные модули, которые установлены (или предустановлены) на сайте. Это можно сделать двумя способами:

    Первый способ.  В админке перейти в Расширения –> Менеджер расширений –> Управление. На открывшейся странице нажать кнопку Инструменты поиска, и в появившемся фильтре выбрать тип расширения Модуль. Посмотрите пример:

    Просмотр модулей

    Здесь же, кстати, можно удалить ненужные модули.

    Вы можете спросить: почему на картинке некоторые модули повторяются? Дело в том, что все модули разделены на две области:

    • Область фронтенда – то, что будут видеть пользователи сайта
    • Область бэкенда (админки) – то, что будут видеть пользователи админки

    Для каждой области есть свой уникальный модуль.

    Второй способ. В файлах сайта нужно перейти в одну из папок:

    • /modules/ – чтобы посмотреть уникальные модули фронтенда
    • /administrator/modules/ – чтобы посмотреть уникальные модули админки

    Эти же каталоги указывают нам расположение модулей в файловой структуре Joomla.

    Просмотреть экземпляры модулей Joomla тоже очень просто. Достаточно перейти в админке в Расширения –> Менеджер модулей. Здесь вы увидите список всех созданных экземпляров модулей:

    Просмотр экземпляров модулей

    Заметьте, в менеджере модулей показаны экземпляры модулей только одной из областей. По умолчанию это «Сайт». Если вы хотите посмотреть экземпляры модулей админки, то нужно выбрать соответствующую опцию в фильтре, показанном на рисунке выше.

    Теперь, когда мы разобрались с тем, что такое уникальный модуль и экземпляр модуля, пора поговорить о настройке.

    Настройка модулей Joomla

    Прежде всего. Модули, которые вы настраиваете в админке и видите на сайте – это экземпляры. Уникальный модуль – это каркас, файловая система, но не настройки (разве что только те, которые заданы по умолчанию).

    У каждого модуля есть как общие настройки, так и свои собственные. Собственные настройки модуля создает разработчик, и они обычно отличаются для каждого модуля. Общие же настройки одинаковы во всех модулях. О них мы сейчас и поговорим.

    Позиции модулей

    Одна из самых важных настроек, которая есть у каждого модуля Joomla, это Позиция.

    Позиция модуля – это место в шаблоне, где модуль может быть выведен.

    В каждом шаблоне позиции разные. Их создают разработчики шаблонов.

    В современных шаблонах построенные на фреймворках, вы можете добавлять позиции самостоятельно, прямо в настройках шаблона в админке.

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

    Выбор позиции модуля

    Разумеется, для того чтобы выбрать позицию, нужно понимать, где она расположена в шаблоне Joomla. Для обычных шаблонов позиции можно посмотреть так:

    1. Перейти в Расширения –> Менеджер шаблонов –> Настройки и активировать опцию Просмотр позиций модулей:

    Просмотр позиций модулей

    1. Открыть главную страницу сайта и добавить к URL ?tp=1, например, https://wedal.ru?tp=1

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

    Расположение позиций модулей шаблона

    Источники

    • https://ostro.su/sekrety/95-moduli-joomla-samoe-podrobnoe-rukovodstvo.html
    • https://coderlessons.com/articles/veb-razrabotka-articles/kak-konvertirovat-vidzhet-v-modul-joomla
    [свернуть]
    Adblock
    detector