Наверх

Загрузка постов


CodeMatrix

A+ R A-

Как создать свой Joomla шаблон - 3.

Читать: создание шаблона Joomla часть 1

Читать: создание шаблона Joomla часть 2

Надеюсь вы легко справились с предыдущими действиями и теперь пришло время настроить вывод колонок, в зависимости от того находится там модуль или нет. Для начала подключим вывод модуля в правой колонке уже знакомым нам способом: создадим <position>right</position> в файле templateDetails.xml и вставим соответствующую строку в файл index.php. 

27. Подключение вывода модулей в правой колонке (строка 36)

44

Как вы могли заметить, кроме уже известных нам параметров type и name, я использовала параметр style. Это нужно для того, чтобы отображался заголовок нашего модуля в том случае, если мы выбрали "отображать заголовок" в настройках модуля. Стилей мы коснемся в другой раз, сейчас не будем на этом останавливаться. Я включила модуль article category в админпанели и поместила его в позицию right. Вы тоже можете это сделать и посмотреть. Если всё сделано правильно, в правой колонке должен появиться модуль.

28. Модуль в правой колонке

45

Теперь вы можете применить стили к этому модулю и оформить его так, как вам угодно. Однако если мы отключим модуль, мы увидим, что правая колонка никуда не делась и по прежнему отображается на сайте, будучи пустой. Для того, чтобы колонка выводилась только тогда, когда в ней присутствует модуль, мы должны выполнить в файле index.php проверку на наличие модуля и если он есть - тогда и выводить правую колонку. В противном случае - не выводить. Делается эта проверка таким образом:

if ($this->countModules('right')): //если модуль right включен

Далее мы пишем условие, если модуль включен и по окончанию условия прописываем endif, как показано на рис. 29;

29. Проверка на наличие модуля в поле right. В случае, если модуь включен, будет выводится код прописанный в условии. по окончанию условия пишем endif;

48

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

30. Правая колонка отключена, контент занимает всю страницу.

49

Если же у вас блоки имеют фиксированный размер и контент не раздвигается на всю ширину, вы можете создать дополнительную проверку с выводом <style>. В таком случае вам нужно указать в css ширину контент поля 100%, а при наличие модуля выводом <style> в блоке <head> задавать ему фиксированный размер.

31. Проверка на наличие модуля в блоке <head> и задание нужного стиля в случае, если модуль включен.

50  

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

32. Добавляем проверку к выводу верхнего меню.

51

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

33. Модули в правой колонке и меню отключены - блоки не выводятся.

52

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

У вас мог возникнуть вопрос, а как же организовать вывод контента в 2 или 3 колонки как предполагается в настройках админ-панели. Это всё задается стилями. Вы можете изменить количество выводимых колонок в админке и просмотреть исходный код страницы. Вы увидите, какие блоки выводятся в случае, если вы указали 1 или 2 колонки. Соответвенно настройка внешнего вида вывода по колонкам осуществляется средствами css.

На этом я заканчиваю эту статью и в следующий раз мы изучим вопрос, как сделать шаблон настраиваемым из админки и для чего нужны файлы component.php и error.php (хотя по названию вы уже наверное, догадались :)) А так же рассмотрим еще некоторые полезные моменты.