Комментарии

  • Уф печать на чехлах
  • Купить Чехлы! Чехлы CRUISE на сидения автомобиля. Аксессуары для салона авт
  • printari.ru
  • Батареи аккумуляторные для ибп
  • батареи аккумуляторные для ибп
  • econrj.ru
  • Лицензия на ввт
  • ВВТ Минпромторга. Консультации, подготовка документов
  • opk.spb.ru
Параметры настройки шаблонов Joomla 2.5
( 0 Голосов )
После регистрации в административной части веб-сайта Joomla, выбора сначала команды Extensions1 => Template Manager (Расширения => Диспетчер шаблонов), а затем исходного шаблона Beez2 - Default для редактирования стиля его оформления в правой части экрана появляются дополнительные параметры настройки, приведенные на скриншоте ниже.
 
Параметры настройки шаблона beez_20
Параметры настройки шаблона beez_20
 
Это лишь первый из многих примеров параметров, доступных для настройки в Joomla. Посмотрим, откуда они берутся, как используются и сохраняются в базе данных.
 
Параметры определяются в XML-файлах. В данном случае имеется в виду файл templates/beez_20/templateDetails.xml, в котором содержится и другая информация о шаблоне. Часть этого файла, где находится информация о параметрах, располагается в элементе config, как показано в листинге ниже.


                 
Если сравнить содержимое XML-файла с экраном Advanced Options (Дополнительные параметры), приведенным на скриншоте выше, то можно заметить следующее:
 
  • Каждая группа параметров определяется элементом разметки fieldset в XML- файле.
  • Каждое поле параметра определяется отдельным элементом разметки field в XML-файле.
  • Поведение каждого параметра определяется атрибутами.

 

Атрибуты элементов разметки полей, определяющих параметры настройки шаблона:

Атрибут Описание
name Имя, используемое для извлечения конкретного значения параметра
class Класс вложенных таблиц стилей CSS для оформления поля при воспроизведении формы на странице. Например, класс validate-numeric запускает на выполнение специальный код JavaScript для отображения ошибок на странице при появлении нечислового символа
type Имя файла исходного кода РНР и соответствующего класса, вызываемого при создании параметра. Так, если установить значение text в атрибуте type, то загружается файл libraries/joomla/form/fields/text.php, в котором определен класс JformFieldText языка РНР
default Исходное значение параметра, отображаемое в форме при создании нового стиля оформления шаблона
label Метка поля в форме. Как правило, она переводится, а следовательно, ее дескриптор обычно находится в файле языковой поддержки. Например, дескриптор ТPL_BEEZ2_FIELD_WRAP PERSMALL_LABEL определен В файле language/en-GB/en-GB. tpl_beez_20.ini, где он переводится как Wrapper Small (%) (Мелкая оболочка (%)). Более подробно перевод текста элементов пользовательского интерфейса на разные языки мира рассматривали в прошлых статьях сайта. Описание поля в форме с отображением всплывающей подсказки при наведении курсора на само поле. Как и метка, описание поля, как правило, переводится.
filter Это фильтр. Если он установлен, то применяется к данным, вводимым в поле, при сохранении формы. Например, в поле wrapperSmall применяется фильтр int, а это означает, что в данном поле можно вводить только целочисленные значения. При наличии атрибута filter вызывается метод clean () класса JFilterlnput из файла libraries/joomla/filter/filterinput.php.
Элементы разметки fields и field были внедрены в версии Joomla 1.6 и заменили собой элементы разметки params и param, применявшиеся в версии 1.5.
 
Следует также заметить, что параметр navposition относится к типу list. Это означает, что пользователь может сделать выбор из раскрывающегося списка параметров шаблона. Каждый параметр в этом списке определен как отдельный элемент разметки option, а у каждого элемента разметки option имеется свой атрибут value, определяющий значение, передаваемое форме при выборе данного параметра из списка. Текст наименования элемента разметки option должен появляться в списке и, как правило, переводится, поэтому он представлен в виде дескриптора, определяемого для данного шаблона в файле языковой поддержки.
 
А теперь посмотрим, каким образом параметры сохраняются в базе данных веб-сайта Joomla. Если проанализировать содержимое таблицы #template_styles базы данных, то в ней можно обнаружить строку со значением Beez2 - Default в столбце title. А если перейти к столбцу params в этой же строке, то в нем можно обнаружить следующее значение:
 
{"wrapperSmall":53,"wrapperLarge":72,"logo":"images\/joomla_black.gif",
"sitetitle":"Joomla!","sitedescription":"Open Source Content Management","navposition":"left", "templatecolor":"personal"}
Приведенный выше текст представлен в формате JSON (JavaScript Object Notation — представление объектов JavaScript). Начиная с версии 1.6 формат JSON используется для сохранения параметров настройки Joomla в базе данных. В рассматриваемом здесь примере сохранения параметров шаблона в формате JSON первым указывается имя параметра в кавычках, а после двоеточия — значение этого параметра. Каждый предыдущий параметр отделяется от последующего запятой, а вся запись параметров заключается в фигурные скобки.
 
С исчерпывающим описанием формата JSON можно ознакомиться по адресу http://www.json.org. В языке PHP имеется функция json_decode () для преобразования текста из формата JSON в объекты или массивы, а также функция json_encode () для преобразования массивов или объектов языка РНР в текст формата JSON.
 
Следует также заметить, что все параметры хранятся в единственном столбце parameters таблицы базы данных. Это означает, что новые параметры можно вводить, не добавляя новые столбцы в таблицу базы данных. Например, стиль оформления шаблона может содержать любое количество параметров с любыми именами, выбираемыми разработчиком шаблона. И такой подход к сохранению многих параметров в одном столбце таблицы базы данных принят повсеместно в Joomla, что в значительной степени упрощает процесс создания параметров. А недостаток такого подхода заключается в том, что пользоваться параметрами в запросах базы данных не так-то просто.

Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости