Разработка шаблона под CMS Joomla (часть 2-я "структурная" из ...)


Часть 1-я находится здесь.

1. Что мы имеем изначально:
— готовая верстка html+css
— установленная Joomla 1.5.x
2. Тип верстки.
В Joomla есть предустановленные шаблоны. Подробно я все не рассматривал. Особое внимание уделяем — «Beez», т.к. этот шаблон имеет структуру в div'ах.

При выводе модулей используется следующая логика. Есть несколько способов вывода: таблицами, «чистым текстом», дивами и еще несколько. При этом используется параметр «style». Все типы выводов рассматривать не буду, приведу пример лишь вывода дивами:

<jdoc:include type="modules" style="xhtml" />


3. Копирование готовых шаблонов.
В распакованом дистрибутиве Joomla берем и копируем себе весь шаблон beez, чтобы далее его править под себя. Берем его так сказать за основу!
Логика такая — если мы будем править свой шаблон, то он будет работать везьде одинаково. Если же, мы не определим какие-либо элементы (такие как отображение модулей, списка категорий и прочее), то они будут браться из стандартных отображений дистрибутива. А они как я успел заметил имеют структуру в таблицах.

4. Позиции.
При выводе модуля можно применить параметр location. И соответственно через админку назначать вывод модулей именно в это место:

<jdoc:include type="modules" name="LOCATION" style="OPTION" />


где, LOCATION может принимать значения left, right, top и так далее.

Вывод контента осуществяем так:

<jdoc:include type=«component» />


5. Header
<head>
<jdoc:include type="head" />

<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/<?php echo $this->template ?>/css/template.css" type="text/css" />
</head>


Немного разбора:
<jdoc:include type="head" />

вывод header. Понятное дело динамически изменяется в зависимости от статьи и т.д.

<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/<?php echo $this->template ?>/css/template.css" type="text/css" />


А это пример включения собственного стиля.

6. Немного структуры

/components/
/components/com_content
/components/com_banners
/components/com_contact
/components/com_poll
...
/templates/
/templates/beez/
/templates/ja_purity/
/templates/rhuk_milkyway/
/templates/youtamplates/
...


Понятно, что папка с компонентами и шаблонами. Про составление шаблона кратко упоминал в 1-й части. Остановимся на обозрении одной интересной папочки:

/components/com_content


Структура:

/components/com_content/
/components/com_content/helpers/
/components/com_content/models/
/components/com_content/views/
/components/com_content/views/archive/
/components/com_content/views/article/
/components/com_content/views/category/
/components/com_content/views/frontpage/
/components/com_content/views/section/
...
/components/com_content/views/article/tmpl/
/components/com_content/views/article/tmpl/default.php
/components/com_content/views/article/tmpl/form.php
...
/components/com_content/views/category/tmpl/
/components/com_content/views/category/tmpl/default.php
/components/com_content/views/category/tmpl/blog.php
...


Немного разжуем:

/components/com_content/views/


определяет формирование отображения контента в различных случаях. В архиве, в статье, в категориях, на главной странице, в разделе.

Например, если мы настроили вывод категории в виде блога, то за формирование будет отвечать:

/components/com_content/views/category/tmpl/blog.php


(от себя)
Только, что понял, что испортил изготовленный шаблон. Т.к. залезал и правил эти скриптики. Т.е. изготовленный шаблон уже не будет работать на стандартном дистрибутиве(

7. Переопределение
Вывод модулей, компонентов и контента можно переопределять. Т.е. менять скрипты их формирования и заносить уже измененные в свой шаблон.

Для модулей:
/modules/mod_mainmenu/tmpl/default.php

переопределяем на:
/templates/youremplate/mod_mainmenu/default.php


Для компонентов соответственно:
/components/com_content/views/category/tmpl/blog.php

переопределяем на:
/templates/youremplate/com_content/views/category/tmpl/blog.php


(для себя)
и есть надежда спасти сделанный шаблон, поискав измененные скрипты и переопределив их( добавив в xml и скопировав соответственно) в своем шаблоне.

Пожалуйста, товарищи джумловеды!

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Не забываем смотреть статистику:

Яндекс цитирования