Параметры могут использоваться для изменения поведения стиля. Например, вы можете сделать несколько стилей с одинаковым содержимым, но отличающимися в параметрах. Параметры задаются списком названий и значений или визуальной формой.

Работа с параметрами

Настройка параметров выполняется во вкладке "Параметры" вашего стиля. Обычно, перед вами будет таблица, в левом столбце которой указывается название параметра, в правом - его значение. Если вы делаете стиль на заказ, рекомендуется оформить этот раздел в виде красивой формы. Об этом рассказано ниже.

Вы можете использовать параметры напрямую в коде вашего шаблона. Для вставки значения параметра в шаблон используется код:

{tpl:cfg-xxx}

Вместо xxx указывается название вашего параметра. Вы также можете использовать условные блоки:

<!-- IFTPL cfg-xxx --> ... <!-- ENDIF -->
<!-- IFNTP cfg-xxx --> ... <!-- ENDIF -->

Вы можете вставлять значение параметров в разделе "Макросы". За вставку параметра xxx внутри значения макроса отвечает код:

{cfg:xxx}

Вы также можете использовать эти параметры внутри раздела "Настройки" вашего стиля при указании CSS и JS файлов. Например, таким образом можно реализовать выбор конкретного файла стиля, который будет загружаться в шаблоне:

bootstrap-{cfg:skin}

Это пример из списка CSS-файлов шаблона Bootstrap. Рекомендуется изучить его как пример реализации всех возможностей стилей.

Файл настройки параметров

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

Содержимое файла представляет собой JSON-объект. Ключи этого объекта - названия параметров, значение - объект, который описывает эти параметры.

"param": {
	"type": "text|number|textarea|checkbox|select|mselect",
	"val": "text|int|float|decimal|bool|link|ints|codes",
	"name": "Param name",
	"descr": "Description",
	"options": { "key": "value", "foo": "bar" }
}

Описание параметра содержит поля:

  • type - тип контроллера: text, number, textarea, checkbox, select, mselect
  • val - функция, отвечающая за преобразование значения: text, int, float, decimal, bool, link, ints, codes
  • name - название параметра, которое выводится в форме
  • descr - описание параметра, которое выводится в форме
  • options - набор пар ключ-значение, который используется для полей типа select и mselect.

Тип контроллера:

  • text - обычное текстовое поле
  • number - тестовое поле для ввода числа
  • textarea - многострочное текстовое поле
  • checkbox - поле с галочкой
  • select - выпадающий список с выбором одного значения
  • mselect - список с множественным выбором

Преобразование значения:

  • text - обычный текст
  • int - целое число
  • float - чисто с плавающей точкой
  • decimal - автоматический выбор между целым числом и числом с плавающей точкой
  • bool - булевое значение, оптимально для checkbox
  • link - код, который может состоять из маленьких букв, цифр, дефиса и точки
  • ints - строка целочисленных значений через запятую, для поля mselect
  • codes - строка кодов через запятую, для поля mselect

Пример описания параметров:

{
	"skin": {
		"type": "text",
		"val": "text",
		"name": "Site footer title",
	},
	"navbar": {
		"type": "select",
		"val": "link",
		"name": "Navigation",
		"options": {
			"default": "Default",
			"inverse": "Inverse"
		}
	}
}

Вы можете ознакомиться с примером реализации внутри стиля Bootstrap-3.