Создание шаблона для Joomla - Индекс
Индекс
Попробуем сделать шаблон на основе образца, взятого мною на templatemonster.
Основу шаблона составляет файл index.php
В его начало просто копируем следующий код:
<?php defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); $iso = split( '=', _ISO ); echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>'; ?> <!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"> <head> <?php if ($my->id) initeditor(); ?> <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" /> <?php mosShowHead(); echo "<link rel="stylesheet" href="/$GLOBALS[mosConfig_live_site]/templates/$GLOBALS[cur_template]/css/template_css.css" type="text/css" />"; echo "<link rel="shortcut icon" href="/$GLOBALS[mosConfig_live_site]/images/favicon.ico" />"; ?> </head>
Основная информация страницы выводится в блоке mainbody. Вся остальная информация выводится в модулях (module). Модули, в свою очередь, располагаются в областях (position) вертикально друг под другом (возможно и горизонтальное расположение, но это редкий и порой сложный в исполнении вариант – см. часть 2 данной статьи). Посмотрим на наш эскиз и постараемся понять, сколько модулей будет на нашем сайте, какие области для них нужны и как их назвать.
Модули могут быть программированные и созданные админом из контрольной панели. С готовыми программированными модулями все понятно – скачиваем и устанавливаем. Собственные модули – это по сути куски статического HTML кода, введенные вами. Рекомендую информацию, постоянную на каждой странице и не требующую изменений, прописывать прямо в коде шаблона (например, логотип, копирайт и т.п.). Информацию же, которая будет присутствовать только на некоторых страницах или часто меняться, лучше занести в модули. Названия областей лучше всего связывать с местонахождением, а не с планируемыми внутри модулями. Обратите внимание, что длина названия области может быть не более 10 букв.
Приблизительная схема наших модулей
Области, определенные под модули
План шаблона
Теперь нам нужно пойти в контрольную панель и объявить все области. В оригинальной версии: Site –> Template Manager –> Module Positions. Возможно там уже будут какие-то области, заявленные разработчиками – их можно смело удалить (только не удалите области, предназначенные для шаблона самой контрольной панели). Порядок, в котором вы занесете все области, будет использоваться в выпадающем списке при выборе области в настройках модулей.
Область вставляется в шаблон следующим кодом
<?php mosLoadModules ( 'название_вашей_области' ); ?>
Например, область с названием left вставляется так
<?php mosLoadModules ( 'left' ); ?>
Исключение составляют дата, строка навигации (pathway) и область mainbody, (где выводится информация компонентов Joomla, например, тексты статей, новости главной страницы и тому подобное).
Код для даты:
<?php echo (strftime (_DATE_FORMAT_LC)); ?>
Код для mainbody:
<?php include ("mainbody.php"); ?>
Код для строки навигации
<span class="pathway"><?php mosPathWay(); ?></span>
Также в шаблон необходимо вставить информацию о разработчиках Joomla и, по вашему желанию, информацию о скорости загрузки страницы
<?php include_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/footer.php' ); ?> <?php mosLoadModules( 'debug', -1 );?>
Естественно все области вставляются в пределах тэга <body></body>
Путь к изображениям в шаблоне должен выглядеть следующим образом (пример для файла logo.jpg)
<?php echo $mosConfig_live_site;?>/templates/название_шаблона/images/logo.jpg
Все, скелет нашего шаблона готов
Подробнее...