Параметры могут использоваться для изменения поведения стиля. Например, вы можете сделать несколько стилей с одинаковым содержимым, но отличающимися в параметрах. Параметры задаются списком названий и значений или визуальной формой.
Работа с параметрами
Настройка параметров выполняется во вкладке "Параметры" вашего стиля. Обычно, перед вами будет таблица, в левом столбце которой указывается название параметра, в правом - его значение. Если вы делаете стиль на заказ, рекомендуется оформить этот раздел в виде красивой формы. Об этом рассказано ниже.
Вы можете использовать параметры напрямую в коде вашего шаблона. Для вставки значения параметра в шаблон используется код:
{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, mselectval- функция, отвечающая за преобразование значения: text, int, float, decimal, bool, link, ints, codesname- название параметра, которое выводится в формеdescr- описание параметра, которое выводится в формеoptions- набор пар ключ-значение, который используется для полей типа select и mselect.
Тип контроллера:
text- обычное текстовое полеnumber- тестовое поле для ввода числаtextarea- многострочное текстовое полеcheckbox- поле с галочкойselect- выпадающий список с выбором одного значенияmselect- список с множественным выбором
Преобразование значения:
text- обычный текстint- целое числоfloat- чисто с плавающей точкойdecimal- автоматический выбор между целым числом и числом с плавающей точкойbool- булевое значение, оптимально дляcheckboxlink- код, который может состоять из маленьких букв, цифр, дефиса и точкиints- строка целочисленных значений через запятую, для поляmselectcodes- строка кодов через запятую, для поляmselect
Пример описания параметров:
{
"skin": {
"type": "text",
"val": "text",
"name": "Site footer title",
},
"navbar": {
"type": "select",
"val": "link",
"name": "Navigation",
"options": {
"default": "Default",
"inverse": "Inverse"
}
}
}
Вы можете ознакомиться с примером реализации внутри стиля Bootstrap-3.