При прочтении руководства по созданию шаблонов для Joomla 1.5 из-за большого количества информации в голове может все перепутаться. А каждый раз искать в тексте нужную строчку очень неудобно. Для того чтобы работать было проще, я структурировал наиболее важную информацию. Таким образом, получилась небольшая статья, своего рода памятка по работе с шаблонами Joomla.
Файл templateDetails.xml шаблона
templateDetails.xml должен содержать перечень всех файлов, содержащихся в шаблоне. Также он включает информацию об авторе и копирайте. Часть этой информации можно увидеть в менеджере шаблонов в административном интерфейсе Joomla. Ниже приведен пример XML-файла:
<?xml version="1.0" encoding="utf-8"?>
<name>TemplateTutorial15</name> //Определяет название шаблона. Это имя также будет использовано при создании поддиректории шаблона в директории templates. Если шаблон устанавливается вручную, то необходимо создать поддиректорию с названием, идентичным названию шаблона
<creationDate>August 2007</creationDate> // Дата создания шаблона. Это поле задается в свободном формате и может быть любой строкой типа «May 2005», «08-June-1978», «01/01/2004» и т.д.
<author>Barrie North</author> //Имя автора шаблона
<copyright>GPL</copyright> //Информация о копирайте
<authorEmail>
<authorUrl>www.xxx.com</authorUrl> //Адрес сайта автора.
<version>1.0</version> // Версия шаблона
<description>First template Joomla </description> // Описание шаблона
<files> //Различные файлы, используемые в шаблоне
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>js/somejsfile.js</filename>
<filename>images/threecol-l.gif</filename>
<filename>images/threecol-r.gif</filename>
<filename>css/customize.css</filename>
<filename>css/layout.css</filename>
<filename>css/template_css.css</filename> </files>
<positions> //Позиции модулей, используемые в шаблоне
<position>user1</position>
<position>top</position>
<position>left</position>
<position>banner</position>
<position>right</position>
<position>footer</position>
</positions>
<params> //параметры, которые могут задаваться для различных функций шаблона, например, для изменения его цвета
<param name="colorVariation" default="white" label="Color Variation" description="Color variation to use">
<option value="blue">Blue</option>
<option value="red">Red</option>
</param>
</params>
</install>
Заголовок шаблона
<?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
//того, чтобы убедиться, что к файлу не обращаются напрямую, из соображений безопасности.
<!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 //один из фундаментальных параметров, на основании которого браузер решает, как ему отображать эту страницу, в частности, как браузеру интерпретировать CSS.
xml:lang=""
lang="" > //извлекает установленный язык из глобальной конфигурации.
<head>
<jdoc:include type="head" /> //включает дополнительную информацию для заголовка
Это заголовочная информация, которая задана в глобальной конфигурации. Она включает в себя следующие теги (в инсталляции по умолчанию):
<title>Welcome to the Frontpage</title>
<meta name="description" content="Joomla! - the dynamic portal engine and content management system" />
<meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="index, follow" />
<meta name="keywords" content="joomla, Joomla" />
<link rel="stylesheet" href="/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" href="/templates//css/template.css" /> //ссылки на различные файлы шаблона
</head>
Тело шаблона
<body>
<?php echo $mainframe->getCfg('sitename');?>
//название сайта
<jdoc:include type="modules" name="hornav" /> //позиция для модулей вверху
<jdoc:include type="modules" name="left" /> //позиция для модулей слева
<jdoc:include type="component" /> //основной контент. Вывод компонента. Какой компонент будет использован, будет определяться ссылкой в меню
<jdoc:include type="modules" name="right" /> //позиция для модулей справа
</body>
Стили модулей шаблона
<jdoc:include type="modules" name="hornav" style="OPTION" />
Параметр style не обязательный, его варианты задаются в templates/system/html/modules.php. В настоящий момент файл modules.php по умолчанию содержит следующие варианты:
OPTION=«table» (отображение по умолчанию) модули отображаются в колонке таблицы. Вот пример такого отображения:
<table cellpadding="0" cellspacing="0">
<tr>
<td valign="top"> </td>
</tr>
</table>
OPTION=«horz» заставляет модули отображаться горизонтально. Каждый модуль выводится в ячейке таблицы. Пример отображения:
<table cellspacing="1" cellpadding="0" border="0" width="100%">
<tr>
<td valign="top"> <?php modChrome_table($module, $params, $attribs); ?> </td>
</tr>
</table>
OPTION=«xhtml» заставляет модули отображаться в блоках div. Пример отображения:
<div>
<?php if ($module->showtitle != 0) : ?>
<h3> <?php echo $module->title; ?> </h3>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
OPTION=«rounded» заставляет модули отображаться в формате, который позволяет создавать растягиваемые скругленные углы. Если задан этот вариант style, то имя блока div изменяется с «moduletable» на «module». Пример отображения:
<div>
<div>
<div>
<div>
<?php if ($module->showtitle != 0) : ?>
<h3> <?php echo $module->title; ?> </h3>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
</div>
</div>
</div>
OPTION=«none» заставляет модули отображаться в «сыром» виде, не содержащем элементы или заголовки. Вот пример:
echo $module->content; Мы не можем задавать эти стили в <jdoc:include type=«component» />, поскольку это не модуль. Но можно легко создать свой вариант стиля, это часть новых возможностей Joomla 1.5.
-----------
Компания Легенда производит оптовую продажу расходных материалов для уборочной техники. Основные комплектующие: щеточный диск, дисковая щетка, тупсы и многое другое.
В большинстве готовых шаблонов таких строчек нет. Вы рекомендуете это прописать или это не обязательно? и насколько это будет результативно? Спасибо
Или их не обязательно указывать?
В шаблоне обычно только один xml-файл. В нем и проблема.
Большое спасибо за Ваши статьи!
У меня вопрос. В данном уроке Вы описываете 3 файла (templateDetails.xml (в разделе Файл templateDetails.xml шаблона) index.php (в разделах заголовок шаблона и тело шаблона) и css файл (в разделе Стили модулей шаблона) или это один файл templateDetails.xml?
Прошу прощения если вопрос наивен. Просто я отношусь к начинающим!!