Шаблоны в Joomla! 1.6, новое и особенности обновления с версии 1.5

Уже давно ни для кого не новость, что в свет вышла Joomla! 1.6, которая внесла ряд желанных разработчиками изменений в функционал (неограниченная вложенность категорий, гибкие настройки прав доступа…), но в то же время оставляет еще место для пожеланий, например, многие были бы рады интегрированному решению для создания различных видов содержимого аля CCK в Drupal. Но сегодня не об этом. Сегодня о том, что является для меня, в силу того что я априори верстальщик (теммер), целью номер один в изучении нововведений Joomla! 1,6 — шаблонах.

Сначала, мне бы хотелось внести несколько обзорных теоретических строк о том, что предлагает шаблонная система в Joomla! 1.6 для пользователя и разработчика. Нужно сразу же ответить, что революционных изменений в системе шаблонов не произошло, но несколько значительных эволюционных все-таки свершилось.

Итак, из прежнего на осталась та же структура представления данных в шаблоне. То есть, есть главная функциональная область component, и остались области для дополнительного функционала — module. Также, вопреки тому, что изначально от этого хотели отказаться, все же осталась возможность просмотреть позиции модулей и компонента с помощью запроса tp=1 (например, http://www.mysite.ru/index.php?tp=1).

Стили

Стили стали но введением в  Joomla! 1.6. Они дают возможность создавать и использовать различные версии представления одного шаблона.  Каждый шаблон должен содержать минимум один стиля, собственно он определяется базовыми настройками шаблона. То есть если фан не нужно править CSS или HTML разметку шаблона, то вы можете ограничится лишь только модификациями стилей шаблона, именно стили привязываются к конкретным страница или разделам сайта, или назначаются по умолчанию, а не физические шаблоны. Вы можете создать дополнительные стили, копируя их. Это вкратце по стилям. Дальше погорим о технических моментах, то есть осудим изменения которые нужно будет учесть при обновлении или создании нового шаблона для Joomla! 1.6

Параметры шаблона

Итак, в обеих версиях Joomla! 1.5 и 1.6 параметры шаблона определены в templateDetails.xml. Но, в отличии от версии  1.5, где параметры определены как часть <params> раздела, и каждый параметр определен как <param>, в 1.6 параметры шаблона содержатся в разделе <config> и рассматриваются как <field> вложенный в <fieldset> и <fields> теги. Как видно на рисунке ниже:

Параметры шаблона Joomla! 1.6

<fieldset name=”basic”> является оберткой для набора полей параметров, в настройках стилей они будут представлены в виде слайдер под названием используя имя = «Основные», также есть набор полей с именем <fieldset name=”advanced”>, они  будут представлены в виде слайдера, с меткой «Дополнительные параметры». Прежними остались дополнительные атрибуты параметров, такие как name=”, type=”, default=”, label=’,’ description=”.

Объекты и методы

Основным отличем конструкции использования методов стало то, что теперь отсутствует глобальная переменная $mainframe.

Теперь, чтобы использовать методы Joomla внутри документа шаблона вам нужно объявить переменную $app, которая будет обращаться к галвному методу JFactory::getApplication(). Если просмотреть это на примере основных конструкций шаблонов Joomla! 1.5,  то выглядеть это будет так:

Имя сайта

Joomla! 1.5 — $mainframe->getCfg(‘sitename’);

Joomla! 1.6 — $app->getCfg(‘sitename’);

Коды ошибок

Изменился синтаксис вывода ошибок

  • $this->error->code заменено на $this->error->getCode();
  • $this->error->message заменено на $this->error->getMessage();

Мелочи

Из мелочей, на которые также стоит обратить внимание следует указать, что изображение помимо маленького превью шаблона template_thumbnail.png, также есть теперь и увеличенное изображение template_preview.png. Все остальное, в принципе, осталось прежним.

Что же, остается сказать спасибо разработчикам, которые внеся существенные изменения в сам движек сумели сохранить привычные принципы создания шаблонов для тех, кто раньше дала шаблоны для Joomla! 1.5.

Спонсоры статьи:
Оцените статью
Добавить комментарий