<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
        <channel>
        <title>Русский клуб Joomla/Шаблоны Joomla!</title>
        <link>http://joomclub.net/en/blog/templates/</link>
        <description><![CDATA[Блог посвящен созданию шаблонов joomla, презентации шаблонов joomla, а так же особенностям построения шаблонов.]]></description>
        <language>ru</language>
        <managingEditor>vadim@joomline.ru</managingEditor>
        <webMaster>tena2000@mail.ru</webMaster>
        <generator>Alto CMS v.1.1.13</generator>
                    <item>
                <title>RoundTheme выпустили новый шаблон Kunena и провели большое обновление</title>
                <guid isPermaLink="true">http://joomclub.net/en/t/278/</guid>
                <link>http://joomclub.net/en/blog/templates/278.html</link>
                <author>vadim@joomline.ru</author>
                <description><![CDATA[<p>Клуб шаблонов RoundTheme выпустил новый шаблон для Kunena форума под названием RND Kascetic. Шаблон выполнен в легких тонах и аскетичном стиле и отлично впишется в большинство современных шаблонов Joomla от известных производителей.</p><p><img src="/uploads/images/00/00/02/2014/08/18/0u4949368e-10b16603-28247df8.jpg" /></p><p><a name="cut" rel="nofollow"></a> </p><p>Также было проведено большое обновление с уже существующими шаблонами Kunena — все они получили дополнительные 5 цветовых стилей для унификации и демонстрации большей гибкости. Все шаблоны от RoundTheme выполнены с использованием техники адаптивного дизайна и корректно отображаются на мобильных устройствах.</p><p>Также были обновлены все квикстарты до актуальных версий Joomla и Kunena, а также улучшен скрипт демо-полигона для более удобной навигации.</p><p><a href="http://www.roundtheme.com/themes/kunena/rnd-kascetic" target="_blank" rel="nofollow" >Страница шаблона RND Kascetic</a></p>]]></description>
                <pubDate>Mon, 18 Aug 2014 21:07:12 +0400</pubDate>
                            </item>
                    <item>
                <title>jdoc:include - метод отображения контента на странице.</title>
                <guid isPermaLink="true">http://joomclub.net/en/t/22/</guid>
                <link>http://joomclub.net/en/blog/templates/22.html</link>
                <author>al-teen@inbox.ru</author>
                <description><![CDATA[<p>В статье <a href="http://joomclub.net/blog/verstka/16.html" rel="nofollow">Создание шаблонов для Joomla</a> мы поверхностно коснулись темы методов вывода контента в теле шаблона. Давайте теперь подробно разберем что это и с чем его едят. Итак, объявления метода <span><span>jdoc</span> присутствуют<span>  в каждом</span> шаблоне <span>Joomla</span><span>и выводят в тело шаблона (то бишь на страницу сайта) ту или иную информацию. В целом объявление метода выглядит следующим образом</span></span><br>
<pre class="prettyprint"><code>&lt;jdoc:include type=&quot;component&quot; /&gt;</code></pre></p>
<p>Данная строчка выводит на сайте информацию из компонентов, например статьи из com_content. Тип элементов вывода указывается в атрибуте.</p>
<p>    <strong>1. type — типы элементов вывода.</strong></p>
<ul><li><em>component</em> — как писал выше, выводит основное содержание страницы. Может вызываться только один раз в шаблоне.</li><li><em>head</em> — объявляется так же один раз после открывающего тэга &lt;head&gt;. Служит для вывода стилей, скриптов, &lt;title&gt; и метаданных текущей страницы.</li><li><em>message </em><em>-</em> выводит системные сообщения. Объявляется один раз в теле документа (body).</li><li><em>installation </em> — ничего не выводит и <a name="cut" rel="nofollow"></a> представляет собой «инструкцию» для установки.</li><li><em>module — </em>выводит на странице единичный модуль. Количество объявлений не ограничено.</li><li><em>modules </em> — в отличии от предыдущего типа, позволяет выводить в своей позиции не единичое число модулей.</li></ul><p>Для первых четырех указанных типов достаточно лишь указать их на странице. В случае с типом модуля задача немного усложняется. Для того, чтобы вывести на странице модуль нам нужно сперва создать для него <strong>модульную позицию</strong> с уникальным идентификатором (название позиции модуля). Это делается при помощи атрибута name=«имя позиции» и обязательным добавлением строки:<pre class="prettyprint"><code>&lt;position&gt;название позиции&lt;/position&gt;</code></pre>в файл templateDetails.xml. Описывая название позиции в templateDetails.xml мы обозначаем ее в системе и видим в менеджере модулей. Имена позиций могут быть произвольными, хотя name=«user3» позиция, по-умолчанию используется для отображения верхнего меню.</p>
<p>    <strong>2. style — описание стиля вывода (mod chrome).</strong></p>
<p>От указанного стиля зависит внешний вид и структура оболочки модуля. Выглядит как<pre class="prettyprint"><code>:&lt;jdoc:include type=&quot;modules&quot; name=&quot;user1&quot; style=&quot;xhtml&quot; /&gt;</code></pre>По-умолчанию заложено несколько стилей вывода модулей:</p>
<ul><li><em>xhtml -</em> выводит модуль в блоке с заголовком<pre class="prettyprint"><code>function modChrome_xhtml($module, &amp;$params, &amp;$attribs)<br />{<br />&nbsp;&nbsp; &nbsp;if (!empty ($module-&gt;content)) : ?&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;div class=&quot;moduletable&lt;?php echo htmlspecialchars($params-&gt;get('moduleclass_sfx')); ?&gt;&quot;&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;?php if ($module-&gt;showtitle != 0) : ?&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;h3&gt;&lt;?php echo $module-&gt;title; ?&gt;&lt;/h3&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;?php endif; ?&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;?php echo $module-&gt;content; ?&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp; &nbsp;&lt;?php endif;<br />}</code></pre></li><li><em>table — </em>выводит модуль в верстке табличной структуры<br>
<pre class="prettyprint"><code>function modChrome_table($module, &amp;$params, &amp;$attribs)<br />{ ?&gt;<br />&nbsp;&nbsp; &nbsp;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;moduletable&lt;?php echo htmlspecialchars($params-&gt;get('moduleclass_sfx')); ?&gt;&quot;&gt;<br />&nbsp;&nbsp; &nbsp;&lt;?php if ($module-&gt;showtitle != 0) : ?&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;tr&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;th&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;?php echo $module-&gt;title; ?&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/th&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/tr&gt;<br />&nbsp;&nbsp; &nbsp;&lt;?php endif; ?&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;tr&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;td&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;?php echo $module-&gt;content; ?&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/td&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/tr&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;/table&gt;<br />&nbsp;&nbsp; &nbsp;&lt;?php<br />}</code></pre></li><li><em>horz — </em>выводит содержимое модуля в ячейке таблицы, горизонтально<pre class="prettyprint"><code>function modChrome_horz($module, &amp;$params, &amp;$attribs)<br />{ ?&gt;<br />&nbsp;&nbsp;&nbsp; &lt;table cellspacing=&quot;1&quot; cellpadding=&quot;0&quot; width=&quot;100%&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;tr&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;td&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;?php modChrome_table($module, $params, $attribs); ?&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/td&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br />&nbsp;&nbsp;&nbsp; &lt;?php<br />}</code></pre></li><li><em>rounded</em> — выводит модуль в нескольких вложенных блоках для сложного стилевого оформления в виде графических границ (напр. закругленных углов)<pre class="prettyprint"><code>function modChrome_rounded($module, &amp;$params, &amp;$attribs)<br />{ ?&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;div class=&quot;module&lt;?php echo htmlspecialchars($params-&gt;get('moduleclass_sfx')); ?&gt;&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;div&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;div&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;div&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;?php if ($module-&gt;showtitle != 0) : ?&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;h3&gt;&lt;?php echo $module-&gt;title; ?&gt;&lt;/h3&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;?php endif; ?&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;?php echo $module-&gt;content; ?&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp;&nbsp; &lt;?php<br />}</code></pre></li><li><em>outline</em> — добавляет к блоку модуля предустановленные стили css<pre class="prettyprint"><code>function modChrome_outline($module, &amp;$params, &amp;$attribs)<br />{<br />&nbsp;&nbsp;&nbsp; static $css=false;<br />&nbsp;&nbsp;&nbsp; if (!$css)<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $css=true;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; jimport('joomla.environment.browser');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $doc = JFactory::getDocument();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $browser = JBrowser::getInstance();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $doc-&gt;addStyleDeclaration(&quot;.mod-preview-info { padding: 2px 4px 2px 4px; border: 1px solid black; position: absolute; background-color: white; color: red;}&quot;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $doc-&gt;addStyleDeclaration(&quot;.mod-preview-wrapper { background-color:#eee; border: 1px dotted black; color:#700;}&quot;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($browser-&gt;getBrowser()=='msie')<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ($browser-&gt;getMajor() &lt;= 7) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $doc-&gt;addStyleDeclaration(&quot;.mod-preview-info {filter: alpha(opacity=80);}&quot;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $doc-&gt;addStyleDeclaration(&quot;.mod-preview-wrapper {filter: alpha(opacity=50);}&quot;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $doc-&gt;addStyleDeclaration(&quot;.mod-preview-info {-ms-filter: alpha(opacity=80);}&quot;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $doc-&gt;addStyleDeclaration(&quot;.mod-preview-wrapper {-ms-filter: alpha(opacity=50);}&quot;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $doc-&gt;addStyleDeclaration(&quot;.mod-preview-info {opacity: 0.8;}&quot;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $doc-&gt;addStyleDeclaration(&quot;.mod-preview-wrapper {opacity: 0.5;}&quot;);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; ?&gt;<br />&nbsp;&nbsp;&nbsp; &lt;div class=&quot;mod-preview&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;div class=&quot;mod-preview-info&quot;&gt;&lt;?php echo $module-&gt;position.&quot;[&quot;.$module-&gt;style.&quot;]&quot;; ?&gt;&lt;/div&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;div class=&quot;mod-preview-wrapper&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;?php echo $module-&gt;content; ?&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp;&nbsp; &lt;?php<br />}</code></pre></li><li><em>none</em> — аналогично не указанному вообще style. Выводит модуль без оформления и заголовка<pre class="prettyprint"><code>function modChrome_none($module, &amp;$params, &amp;$attribs)<br />{<br />&nbsp;&nbsp;&nbsp; echo $module-&gt;content;<br />}</code></pre></li></ul><p>Все предустановленные стили располагаются в файле templates/system/html/modules.php. Но мы не ограничены использованием только предоставленных вариантов, а вполне можем создавать свои собственные.</p>
<p>    <strong>3. Создание пользовательского mode chrome.</strong></p>
<p><strong><br>
</strong>Итак, предоставленные по умолчанию типы представления модулей не удовлетворяют текущих требований. Нужно добавить свой собственный стиль оформления. В качестве примера выберем достаточно часто повторяющуюся ситуацию. По заданию нужно вместо &lt;h3&gt; поместить заголовок модуля в тэг &lt;span&gt;, который является семантически нейтральным. Так же требуется поместить контентблок модуля в отдельный &lt;div&gt;. Для создания собственного стиля вывода модуля, воспользуемся стандартными средствами. В большинстве шаблонов  Joomla существет папка html/ (templates/имя шаблона/html/), используется для так называемой шаблонизации. То есть, если скопировать в эту папку шаблон модуля,  то вместо шаблона из директории modules/my_module/tmpl/default  будет выводиться файл из templates/имя шаблона/html/my_modules/default. Аналогично шаблонизируются и компоненты. Удобно и практично. В папке html/ Вашего шаблона создадим файл modules.php. Если такой папки в шаблоне нет, то создадим ее. В файл запишем<pre class="prettyprint"><code>&lt;?php<br />function modChrome_modbox($module, &amp;$params, &amp;$attribs) // Вызываем функцию<br />{<br />&nbsp;&nbsp;&nbsp; if (!empty ($module-&gt;content)) : /* Проверяем наличие в поиции включенного модуля */?&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class=&quot;moduletable&lt;?php echo htmlspecialchars($params-&gt;get('moduleclass_sfx')); /* выводим суффикс css класса модуля */ ?&gt;&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;?php if ($module-&gt;showtitle != 0) : /* проверяем включен ли заголовок модуля */ ?&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span class=&quot;title&quot;&gt;&lt;?php echo $module-&gt;title; /* Выводим заголовок */ ?&gt;&lt;/span&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;?php endif; ?&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class=&quot;modcontent&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;?php echo $module-&gt;content; /* Выводим содержимое модуля */ ?&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp;&nbsp; &lt;?php endif;<br />}<br />?&gt;</code></pre>Готово. Теперь нужно только указать его в качестве стиля вывода.</p>
<p><pre class="prettyprint"><code>&lt;jdoc:include type=&quot;modules&quot; name=&quot;user1&quot; style=&quot;modbox&quot;/&gt;</code></pre>Назначаем в нашу позицию модуль и смотрим результат.</p>]]></description>
                <pubDate>Fri, 14 Sep 2012 00:46:26 +0400</pubDate>
                            </item>
                    <item>
                <title>Создание шаблонов для Joomla</title>
                <guid isPermaLink="true">http://joomclub.net/en/t/16/</guid>
                <link>http://joomclub.net/en/blog/templates/16.html</link>
                <author>al-teen@inbox.ru</author>
                <description><![CDATA[<p>Шаблоны практически всех CMS чем то похожи. Это обычные HTML шаблоны, интегрированные с системой. Чаще всего интеграция достигается путем вставки в нужные блоки программного кода, объявляющего те или иные элементы вывода: модулей, сайдбаров, материалов и т.д. Различия лишь в программировании, на уровне HTML никаких отличий нет и быть не может. Joomla в данном случае является классическим примером. Для того, чтобы создать в блоке шаблона позицию для модуля, нам требуется всего лишь вписать в него строчку <pre class="prettyprint"><code>&lt;jdoc:include type=&quot;modules&quot; name=&quot;mymodule&quot; /&gt;</code></pre><br>
Где <span><span>&lt;jdoc:include</span> <span>/&gt;</span> </span> — метод объявления вывода элемента на страницу.</p>
<p>type=«modules» — указания типа выводимого элемента.</p>
<p>name=«mymodule» — название модульной позиции. </p>
<p>Минимальная информация, необходимая для создания позиции в шаблоне. Используется для вывода на странице модулей, например: меню навигации, формы авторизации, «хлебных крошек» и т.д. Так же можно указывать title=&quot;&quot; для обозначения подсказки, style=&quot;&quot; для <a name="cut" rel="nofollow"></a> обозначения стиля вывода модуля. В случае отсутствия style модуль будет выводиться без заголовка. Обозначения стилей подробнее разберем в следующих статьях. А пока, в качестве наглядного примера создадим простой шаблон для Joomla.</p>
<p>Для этого необхомо создать пустую папку c произвольным названием, пусть будет mytemplate, в ней создадим папку css. Далее создадим файлы templateDetails.xml, index.php и пустой файл index.html для защиты от несанкционированного просмотра содержимого папки. В css/ файл стилей template.css. </p>
<p>Содержимое templateDetails.xml</p>
<p><pre class="prettyprint"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />&lt;!DOCTYPE install PUBLIC &quot;-//Joomla! 2.5//DTD template 1.0//EN&quot; &quot;http://www.joomla.org/xml/dtd/1.6/template-install.dtd&quot;&gt; &lt;!-- Общая для всех xml шапка, определяющая тип документа и его кодировку --&gt;<br />&lt;extension version=&quot;2.5&quot; type=&quot;template&quot; client=&quot;site&quot;&gt; &lt;!-- Указание инсталлятору Joomla о версии и типе устанавливаемого расширения --&gt;<br />&nbsp;&nbsp;&nbsp; &lt;name&gt;mytemplate&lt;/name&gt; &lt;!-- Имя шаблона в списке менеджера шаблонов --&gt;<br /><br />&nbsp;&nbsp;&nbsp; &lt;files&gt; &lt;!-- Контейнер для списка файлов шаблона. --&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;folder&gt;css&lt;/folder&gt; &lt;!-- Указание папок --&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;filename&gt;index.html&lt;/filename&gt; &lt;!-- Указание файлов --&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;filename&gt;index.php&lt;/filename&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/files&gt; &lt;!-- Обязательно требуется для стандартного установщика Joomla. Важно! Если информация о папках или файлах, указанная в данном блоке не соответствуют действительности, например не верно указано имя, или файл отсутствует, то получим ошибку установки --&gt;<br /><br />&nbsp;&nbsp;&nbsp; &lt;positions&gt; &lt;!-- Контейнер для списка модульных позиций шаблона --&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;position&gt;debug&lt;/position&gt; &lt;!-- Указание имени модульной позиции --&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;position&gt;header&lt;/position&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;position&gt;menu&lt;/position&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;position&gt;footer&lt;/position&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/positions&gt;<br />&lt;/extension&gt;</code></pre><br>
В файле index.php</p>
<p><pre class="prettyprint"><code>&lt;?php<br />// Защита от прямого обращения к сценарию.<br />defined('_JEXEC') or die;<br />?&gt;<br />&lt;!DOCTYPE html&gt;<br />&lt;html lang=&quot;&lt;?php echo $this-&gt;language; ?&gt;&quot;&gt;<br />&lt;meta charset=&quot;utf-8&quot;&gt;<br />&lt;head&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;jdoc:include type=&quot;head&quot; /&gt; // Требуется для вывода информации &lt;title&gt;&lt;/title&gt;, meta стилей и скриптов расширений.<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php echo $this-&gt;baseurl ?&gt;/templates/system/css/system.css&quot;&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php echo $this-&gt;baseurl ?&gt;/templates/system/css/general.css&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // Подключаем системные стили<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php echo $this-&gt;baseurl ?&gt;/templates/&lt;?php echo $this-&gt;template; ?&gt;/css/template.css&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // Подключаем файл стиля шаблона. Важно! Путь к файлу необходимо указывать в точности, как написано здесь, то есть абсолютный путь. <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // В противном случае чревато неправильным отображением шаблона на внутренних страницах. То же касается и подключения js файлов.<br />&lt;/head&gt;<br />&nbsp; &lt;body&gt;<br />&nbsp;&nbsp;&nbsp; &lt;div id=&quot;page&quot;&gt; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;header&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;jdoc:include type=&quot;modules&quot; name=&quot;header&quot; /&gt; // Модульная позиция header<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/header&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;nav&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;jdoc:include type=&quot;modules&quot; name=&quot;menu&quot; style=&quot;xhtml&quot; /&gt; // Модульная позиция menu<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/nav&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;section&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;jdoc:include type=&quot;message&quot; /&gt; // Позиция вывода системных сообщений<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;jdoc:include type=&quot;component&quot; /&gt; // Вывод информации компонентов<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/section&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;footer&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;jdoc:include type=&quot;modules&quot; name=&quot;footer&quot; /&gt; // Модульная позиция footer<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/footer&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&nbsp;&nbsp;&nbsp; &lt;jdoc:include type=&quot;modules&quot; name=&quot;debug&quot; /&gt; // Вывод отладочной информации<br />&nbsp; &lt;/body&gt;<br />&lt;/html&gt;</code></pre><br>
template.css</p>
<p><pre class="prettyprint"><code>body{margin:0;padding:0;}<br />header,nav,section,footer{display:block;padding:5px;}<br />#page{border:1px #000 solid;width:960px;margin:0 auto;}<br />header{height:100px;}<br />nav{width:200px;float:left;margin:10px 0;}<br />section{width:730px;float:right;margin:10px 0;}<br />footer{height:100px;}</code></pre></p>
<p>Пример, наглядно демонстрирующий простоту работы с шаблонами Joomla. Алгоритм несложный, взять готовый шаблон HTML и вывести в нужных местах нужные элементы. Конечно же, в более сложных шаблонах приходится использовать условия отображения, скрипты, пользоваться другими возможностями Joomla, а так же вести разработку на различных шаблонных фрэймворках (Gantry, T3 и т.д.). Но если Вам не требуется ничего сверхординарного и сложного, то вполне можно обойтись даже описанным выше простейшим функционалом. </p>
<p> </p>]]></description>
                <pubDate>Wed, 12 Sep 2012 14:21:01 +0400</pubDate>
                            </item>
            </channel>
    </rss>
