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

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

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

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

{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.