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

Все модули прописываются в шаблоне, то есть в файле index.php. Стили модулей также прописываются в той же директории шаблона, в файле template.css. Но прописать в шаблоне модуль недостаточно, чтобы он заработал так как вам нужно. Допустим вы хотите чтобы этот модуль выдавался только на главной, а вот тот модуль выдавался в блоге или еще каком-то разделе сайта.

"Джумла изначально была достаточно непростой в самостоятельном освоении системой"

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

Вернемся к модулям, мы как грамотные вебмастера для начала заходим в админпанель джумлы, в раздел модулей (Расширения>Модули) и создаем там новый блок модуля с уникальным идентификатором и названием. Старайтесь создавать говорящие идентификаторы всегда, потому что через полгода крайне сложно вспомнить почему вы именно так назвали какой-то конкретный модуль. А если он называется back_and_up_button, сразу понятно за что отвечает данный модуль.

Создание нового модуля в джумле

Затем выбирайте тот тип модуля, который вам нужен. Выберем, например Модуль «Материалы - Самые читаемые». Затем важное - это создать уникальный идентификатор вашего модуля. Именно он и будет отвечать за вывод модуля в шаблоне. Для создания просто впишите его в поле «ПОЗИЦИЯ».

Присваиваем новому модулю джумлы уникальный идентификатор

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

Привязываем модуль к конкретным пунктам меню джумлы

Теперь нужно прописать модуль в сам шаблон, т.е. в файл index.php. Ищите по верстке куда вы хотели бы вставить данный модуль и вставляйте строку.

<jdoc:include type="modules" name="supermodul" style="container" />

Не забывайте, что supermodul, это идентификатор, который мы придумали и когда придумаете свой, они должны совпадать с тем, что вы написали в джумле и то что вставили в файл index.php.

Прописываем модуль в файле шаблона

А вот теперь начинается самое интересное, ради чего и стоило прочитать мою статью. Все успешно выводится, но почему-то нет заголовка модуля? Или что-то еще показывается не так? Кривой шаблон возможно. Логически понимаем, что есть какой-то еще шаблон именно модуля, и лежит он здесь:

/корень сайта/modules/mod_articles_popular/tmpl/default.php

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

Добавляем заголовок в модуль джумлы в файле шаблона модуля

Стили h1 в классе mostread поправить или создать очень просто. Открываем template.css и там оформляем так как нам необходимо, паддинги расставляем, размеры шрифтов и тому подобная дребедень, чтобы выглядело красиво.

Оформляем модуль средствами CSS в основном шаблоне сайта

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

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

Добавить комментарий