Составляющие шаблона Joomla
Шаблоны Joomla — пожалуй самые загадочные существа в рунете, т.к. по ним очень мало руководств. Вместе с тем, создать шаблон для Joomla! относительно просто. Достаточно знать XHTML и CSS 2 (да-да, выкиньте свои древние руководства по html и css 1, которых в рунете навалом). Да, еще не помешает знание хотя бы основ PHP, чтобы не путаться в условиях, php-дескрипторах и переменных. Даже в самой толстой книжке по PHP все эти вещи занимают не более 100-150 страниц (30 из которых введение и прочая вода).
Итак, …
Содержание
- 1 Переменные шаблона Joomla!
- 2 Функции шаблона Joomla!
- 3 Заголовок шаблона Joomla!
- 4 Создание шаблона Joomla! (для знакомых с CSS, HTML, основами PHP)
- 5 См. также
Переменные шаблона Joomla!
Вообще-то в шаблоне могут использоваться любые PHP-переменные Joomla! и расширений, но чаще всего используются вот эти:
- $cur_template — название папки активного шаблона (именно папки, а не то, что написано в теге name файла templateDetails.xml). Вместо этой переменной можно использовать $mainframe->getTemplate();, только непонятен смысл этого, ведь $cur_template и так определена (я так понимаю надо привыкать к ООП, долой глобальные переменные, это плохой стиль (Dead Krolik))
$cur_template = $mainframe->getTemplate();
- Использование: в указании пути к файлам шаблона. Вместо «жесткого» указания в пути названия папки шаблона лучше использовать эту перемменную, что обеспечит переносимость кода шаблона для создания других шаблонов.
Примеры использования
<link href="templates/<?php echo $cur_template;?>/css/template_css.css" rel="stylesheet" type="text/css"/> <img src="templates/<?php echo $cur_template;?>/images/logo.png" alt="Составляющие шаблона Joomla" title="" border="0" />
- $mosConfig_sitename — и так понятно — это Название сайта.
- Использование: в подвале шаблона, вместо логотипа
- $mosConfig_absolute_path — абсолютный путь к Joomla
- $mosConfig_live_site — URL сайта вида http://site.ru (без слэша в конце)
- Использование: указание пути к файлам шаблона, в ссылках
Функции шаблона Joomla!
- initEditor(); — инициализация редактора. Используется для возможности использования на сайте визуального редактора Joomla. Обычно функция используется только для зарегистрированных пользователей, по определенному условию (примеры использования в шаблоне). Функция должна стоять сразу после тега <head>.
Если вам не надо использовать на сайте визуальный редактор, то и эту функцию не используйте — Joomla будет быстрее, а страницы сайта — легче (это по слухам так).
- mosShowHead(); — Функция для вывода title, мететегов (description, keywords, Generator, robots, author) и ссылки на favicon.ico сайта в заголовке страниц Joomla. Поэтому и место ей — сразу за тегом <head> после initEditor(), ведь первым тегом выводится title, который должен стоять сразу после <head>.
- mosPathWay(); — Функция для отображения на сайте Pathway — Пути по сайту (Адреса). Где хотите выводить этот путь, туда и вставляете.
- mosCountModules(‘название_позиции’); — Функция подсчета количества модулей в передаваемом параметре — названии позиции для модулей. Если название_позиции не указано, то считаются модули в области left. Результат работы функции — число.
- mosLoadModules(‘название_позиции’, стиль_модуля); — Функция вывода в этом месте (месте вызова функции) модулей Joomla!, в параметрах которых указано название_позиции (параметр Позиция).
- mosMainBody(); — Функция вывода компонентов Joomla.
Ни одна из перечисленных функций не является обязательной, их можно использовать по своему усмотрению, манипулировать ими. О том, как использовать функции Joomla в личных целях для создания шаблонов, читайте в статье Фишки шаблонов Joomla.
Заголовок шаблона Joomla!
<?php defined( '_VALID_MOS' ) or die( 'Прямой доступ запрещен!' ); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="<?php echo _LANGUAGE; ?>" xml:lang="<?php echo _LANGUAGE; ?>"> <head> <?php if ($my->id) { initEditor(); } ?> <?php mosShowHead(); ?> <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" /> <script type="text/javascript"></script> <link href="templates/<?php echo $cur_template; ?>/css/template_css.css" rel="stylesheet" type="text/css" media="screen" /> </head>
Дальше всё просто…
Создание шаблона Joomla! (для знакомых с CSS, HTML, основами PHP)
- В index.php шаблона вставьте заголовок шаблона Joomla! (код выше).
- Определитесь, где будут выводиться компоненты, модули и как будут названы позиции модулей.
- В html-код шаблона вставьте вызовы функций mosPathWay(), mosLoadModules(), mosMainBody().
- Настройте CSS Joomla.
Всё, шаблон готов, с чем вас и поздравляем! 😉
Можно запустить сайт, проверить работоспособность шаблона и его отображение.
Если наблюдаете белый лист, то надо включить отображение ошибок PHP, найти их и исправить.