|
Достаточно регулярно создаю шаблоны, но иногда забываю самое элементарное. Вот, что-то типа шпаргалки для разработчика шаблонов под Joomla 1.5.
Итак, все файлы в Joomla 1.5 с расширением php должны начинаться с проверки запуска этих файлов именно в среде Joomla: <?php defined( '_JEXEC' ) or die( 'Текст сообщения, которое отобразиться если файл вызвать в обход Joomla' ); ?>
Далее нужно определиться с DOCTYPE и самый подходящий для Joomla вот такой: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Теперь открываем тег html и в нем зададим три атрибута, которые необходимы для нормального функционирования Joomla 1.5: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
Для тега head в Joomla 1.5 предусмотрена команда:<jdoc:include type="head" /> На странице сайта вместо этой строчки будут выведены все системные, а также дополнительные теги и скрипты, с которыми работают приложения Joomla (модули, компоненты, плагины).
Работая с библиотекой mootools обнаружил, что она в некоторых компонентах не подключается и соответственно все скрипты, которые написаны с ее использованием перестают работать. Чтобы избежать возможных проблем в работе с mootools я дописываю еще одну строчку к предыдущей: <?php JHTML::_( 'behavior.mootools' ); ?> Данный код не будет дублировать второе подключение базы mootools, а сработает, только в том случае если до нее база mootools не была определена. Этот прием отлично работает с плагином "System - Mootools Upgrade", который подключает новую версии mootools 1.2.4.
Далее обязательно нужно подсоединить файл таблицы стилей (css) шаблона: <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/Название шаблона/css/название файла.css" type="text/css" /> Также желательно подключать и системные таблицы стилей: <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" /> В этом коде <?php echo $this->baseurl ?> Joomla 1.5 выведет путь к корню сайта (т.е. туда где она установлена).
Все, тег head минимально полон и вот как он выглядит в итоге: <head> <jdoc:include type="head" /> <?php JHTML::_( 'behavior.mootools' ); ?> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/Название шаблона/css/название файла.css" type="text/css" /> </head>
В теге body минимум, о котором всегда нужно помнить – это 4 команды: 1. <jdoc:include type="modules" name="позиция модуля" style="стиль отображения" /> Выведет модуль, который будет установлен в позицию модуля, а само тело модуля будет обрамлено в стиль отображения модуля. Позиция модуля задается в файле шаблона templateDetails.xml в теге position: <positions> <position>Имя позиции модуля</position> </positions> Указанные позиции будут доступны во всех установленных модулях Joomla. Стили отображения модуля можно посмотреть в файле: templates/ system/ html/ modules.php К примеру стиль "rounded" выглядит следующим образом: <?php function modChrome_rounded($module, &$params, &$attribs) { ?>
 <div class="module<?php echo $params->get('moduleclass_sfx'); ?>">
  <div>
   <div>
    <div>
     <?php if ($module->showtitle != 0) : ?>
      <h3><?php echo $module->title; ?></h3>
     <?php endif; ?>
    <?php echo $module->content; ?>
    </div>
   </div>
  </div>
 </div>
<?php } ?> Где <?php echo $params->get('moduleclass_sfx'); ?> - выводить суффикс для класса "module" <?php echo $module->title; ?> - выводит название модуля, а <?php echo $module->content; ?> - выведет код модуля (контент).
2. <jdoc:include type="message" /> - данная команда будет выводить системные сообщения Joomla. Типа, "спасибо за регистрацию" или "код с картинки введен не верно" и т.д.
3. <jdoc:include type="component" /> - сюда Joomla выведет отображение компонентов, которые закреплены за определенным пунктом меню. На странице может быть только одно место для вывода системных сообщений и отображения компонентов. Если же у вас их несколько, то ошибки не будет, просто продублируется выводимый контент.
4.<?php echo $this->params->get('имя параметра') ?> Этот код выводит значение параметра из настроек шаблона, которые прописываются в файле templateDetails.xml, вот пример записи: <params> <param name="имя параметра" type="тип строки (text, list или radio)" size="ширина строки" default="значение по умолчанию" label="Название поля с параметром" description="Описание значения параметра" /> </params>
Вот собственно и все, что нужно, минимум, знать для создания файла index.php шаблона под Joomla 1.5
|
Комментарии
Но есть вопрос: что такое системные таблицы стилей?
Но в папке templates/system/css/ находятся системные таблицы стилей, в которых прописаны css стили для системного контента, к примеру отображение системных сообщений Joomla.
Из видео курса
Пишите для нас чаще :)