Главная » Файлы » Как создать сайт » На JOOMLA |
01.12.2017, 06:54 | |
Исходный файлИтак, для примера за основу я возьму следующий код.
<meta charset="utf-8">
<title>Простой макет</title>
<style type="text/css">
* {
margin:0;
}
body {
height: 100%;
min-width: 900px;
font-size: 38px;
font-family: Arial, sans-serif;
background: #DCDCDC;
}
html {
position: relative;
min-height: 100%;
}
#header {
height: 100px;
background: #F5DEB3;
padding-top: 8px;
}
#content {
padding-top: 20px;
padding-bottom: 100px;
}
#footer {
height: 50px;
width: 100%;
padding-top: 10px;
background: #00BFFF;
position: absolute;
bottom: 0;
}
#header .inh {
margin: auto;
width: 900px;
}
#content .inc {
margin: auto;
width: 900px;
}
#footer .inf {
margin: auto;
width: 900px;
}
</style>
</head>
<body>
<div id="header">
<div class="inh">
<p>Заголовок</p>
</div>
</div>
<div id="content">
<div class="inc">
<p>Материал</p>
</div>
</div>
<div id="footer">
<div class="inf">
<p>Низ сайта</p>
</div>
</div>
</body>
</html>
Структура шаблонаСоздайте в любом удобном месте папку с будущей темой и назовите её, как угодно (у меня и тема, и папка будут называться test). Минимальный набор файлов и папок шаблона таков.
Такова минимальная комплектация темы, папка с вашим шаблоном должна содержать всё перечисленное. Структура же среднестатистического шаблона дополняется следующими элементами.
Теперь перейдём от структуры к содержимому файлов. Описание шаблонаСвятая святых тем оформления Joomla — файл templateDetails.xml. Откройте его в каком-нибудь из специализированных редакторов (например, Notepad++) и сохраните нижеследующий код.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 3.5//DTD template 1.0//EN" "https://www.joomla.org/xml/dtd/1.6/template-install.dtd">
<extension version="3.5" type="template" client="site">
<name>test</name>
<creationDate>May 2016</creationDate>
<author>NoName</author>
<authorEmail>mail@mail.mail</authorEmail>
<authorUrl>http://</authorUrl>
<copyright>Copyright (C) 2016 Open Source. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<version>0.9</version>
<description>TPL_TEST_XML_DESCRIPTION</description>
<files>
<folder>css</folder>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
</files>
<positions>
<position>top</position>
<position>footer</position>
</positions>
</extension>
Разберём его.
<?xml version="1.0" encoding="utf-8"?>
— задаём тип документа и кодировку чтобы скрипт знал, как обрабатывать файл. <!DOCTYPE install PUBLIC "-//Joomla! 3.5//DTD template 1.0//EN" "https://www.joomla.org/xml/dtd/1.6/template-install.dtd"> — служебная информация для браузера и CMS.
<extension version="3.5" type="template" client="site">
— на основании данной строки Joomla, в частности, делает вывод, что это именно шаблон, а не плагин, модуль или компонент и понимает, для какой версии движка он предназначен. name — содержит название темы. Все остальные элементы секции <extension> являются необязательными. creationDate — дата создания. author — в этом блоке можно указать автора темы оформления. authorEmail — почта для связи. authorUrl — сайт разработчика. copyright — информация об авторском праве. license — правила распространения шаблона. version — версия темы. description — краткое текстовое описание шаблона. files — в этой секции перечисляются все файлы и папки, находящиеся в корневом каталоге темы. Отсюда Joomla берёт информацию о том, какие файлы копировать на сервер. positions — здесь располагаются сведения о позициях для вывода модулей. Как мы помним, компоненты замещают содержимое, плагины реагируют на события и, как правило, выводят контент по строчке кода, а модули отображают данные в специально отведённых местах. Секция position эти места и определяет. У нас в шаблоне будет две позиции — top и footer. Файл templateDetails.xml может содержать множество дополнительных секций, мы же в своём шаблоне ограничимся описанными. Таблицы стилейВ файл template.css, который находится в папке css темы оформления, вставьте соответствующий код из HTML-файла шаблона.
* {
margin:0;
}
body {
height: 100%;
min-width: 900px;
font-size: 38px;
font-family: Arial, sans-serif;
background: #DCDCDC;
}
html {
position: relative;
min-height: 100%;
}
#header {
height: 100px;
background: #F5DEB3;
padding-top: 8px;
}
#content {
padding-top: 20px;
padding-bottom: 100px;
}
#footer {
height: 50px;
width: 100%;
padding-top: 10px;
background: #00BFFF;
position: absolute;
bottom: 0;
}
#header .inh {
margin: auto;
width: 900px;
}
#content .inc {
margin: auto;
width: 900px;
}
#footer .inf {
margin: auto;
width: 900px;
}
Пояснять содержимое не буду — для этого есть соответствующий справочник. Шаблон страницыОсталось оформить сам шаблон страницы — отредактировать файл index.php, добавив в него такой код.
<?php
defined('_JEXEC') or die;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >
<head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<div id="header">
<div class="inh">
<?php if ($this->params->get('logo')) : ?>
<img src="<?php echo $this->baseurl ?>/<?php echo htmlspecialchars($this->params->get('logo')); ?>" alt="MyLogo" />
<?php endif;?>
<jdoc:include type="modules" name="top" style="xhtml" />
<p>Заголовок</p>
</div>
</div>
<div id="content">
<div class="inc">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
<div id="footer">
<div class="inf">
<jdoc:include type="modules" name="footer" style="xhtml" />
</div>
</div>
</body>
</html>
Основную часть кода составляет знакомый нам по этому справочнику HTML. Прокомментирую неизвестные строки. defined('_JEXEC') or die; — безопасность Joomla, строка защищает от прямого доступа к файлу. <jdoc:include type="head" /> — определяет метаданные, скрипты, стили. <jdoc:include type="modules" name="top" style="xhtml" />— позиция для вывода первого модуля. <jdoc:include type="message" /> — выводит сообщения об ошибках и системные уведомления. <jdoc:include type="component" /> — отображает основной контент страницы. <jdoc:include type="modules" name="footer" style="xhtml" /> — вывод второй позиции для отображения данных из модуля. Упаковка и установка темыВ принципе это весь минимум, который нужен, чтобы создать работоспособный шаблон. Дальше его остаётся только запаковать в архив, установить и проверить. Запакуйте содержимое папки test любым архиватором в ZIP-файл, чтобы структура в корне архива была такой, как на рисунке ниже. Созданный шаблон устанавливается, как и любой другой (подробнее об инсталляции читайте здесь). Когда Joomla сообщит о том, что тема установлена успешна, назначьте её шаблоном по умолчанию, щёлкнув звёздочку в строке test менеджера шаблонов. Теперь можно проверить, работает ли тема оформления. Для этого достаточно просто открыть сайт. В шаблон добавлено две позиции для вывода модулей. Чтобы просмотреть их, нужно перейти по адресу http://сайт/index.php?tp=2, предварительно включив отображение позиций. Чтобы включить показ, в панели управления движком откройте Расширения -> Менеджер шаблонов, в правом верхнем углу появившейся страницы нажмите кнопку Настройки, щёлкните Включено в области Просмотр позиций модулей на следующей странице и нажмите Сохранить. Теперь, когда вы перейдёте по адресу http://сайт/index.php?tp=2 (в моём случае это http://test1.ru/index.php?tp=2), то увидите местоположение позиций. Таков принцип создания шаблонов для Joomla. Что касается усложнения в плане дизайна — для разработки более сложных тем оформления рекомендую почитать официальную документацию Joomla и её форум. | |
Просмотров: 367 | Загрузок: 0 | |
Всего комментариев: 0 | |