<?php
class formKtplOptions extends cmsForm {
public $is_tabbed = true;
public function init(){
return array(
array(
'type' => 'fieldset',
'title' => 'Общие настройки<style>.tabs-menu .tab fieldset{clear:both;}</style>',
'childs' => array(
new fieldCheckbox('styler_on', array(
'title' => 'Подключить дополнительные стили шаблона',
)),
new fieldCheckbox('awesome_on', array(
'title' => 'Подключить иконки Font Awesome',
'hint' => 'Страница с <a target="_blank" href="http://fontawesome.io/icons/">иконками Font Awesome</a>'
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Ссылки',
'childs' => array(
new fieldColor('links_color', array(
'title' => 'Цвет ссылок',
)),
new fieldColor('links_hover_color', array(
'title' => 'Цвет ссылок при наведении',
)),
new fieldCheckbox('links_underline', array(
'title' => 'Подчеркивание ссылок',
'default' => true
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Фон',
'childs' => array(
new fieldColor('body_color', array(
'title' => 'Цвет фона',
)),
new fieldImage('body_bg_image', array(
'title' => 'Фоновое изображение сайта',
'options' => array(
'sizes' => array('small', 'original'),
'allow_import_link' => true
)
)),
new fieldList('body_bg_image_pos', array(
'title' => 'Расположение фона',
'items' => array(
'top' => 'По центру вверху',
'top left' => 'В левом верхнем углу',
'right top' => 'В правом верхнем углу',
'left' => 'По левому краю и по центру',
'center' => 'По центру',
'right' => 'По правому краю и по центру',
'bottom left' => 'В левом нижнем углу',
'bottom' => 'По центру внизу',
'bottom right' => 'В правом нижнем углу'
)
)),
new fieldList('body_bg_image_repeat', array(
'title' => 'Повторять фон',
'items' => array(
'repeat' => 'Повторять фон',
'no-repeat' => 'Не повторять',
'repeat-x' => 'Повторять по горизонтали',
'repeat-y' => 'Повторять по вертикали'
)
)),
new fieldCheckbox('body_bg_image_fix', array(
'title' => 'Зафиксировать фон',
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Шапка',
'childs' => array(
new fieldNumber('brand_width', array(
'title' => 'Высота шапки сайта',
'hint' => 'В px (пикселях). Если не указано используется 100px'
)),
new fieldColor('brand_color', array(
'title' => 'Цвет фона шапки',
)),
new fieldImage('brand_bg_image', array(
'title' => 'Фоновое изображение шапки',
'options' => array(
'sizes' => array('small', 'original'),
'allow_import_link' => true
)
)),
new fieldList('brand_bg_image_pos', array(
'title' => 'Расположение фона',
'items' => array(
'top' => 'По центру вверху',
'top left' => 'В левом верхнем углу',
'right top' => 'В правом верхнем углу',
'left' => 'По левому краю и по центру',
'center' => 'По центру',
'right' => 'По правому краю и по центру',
'bottom left' => 'В левом нижнем углу',
'bottom' => 'По центру внизу',
'bottom right' => 'В правом нижнем углу'
)
)),
new fieldList('brand_bg_image_repeat', array(
'title' => 'Повторять фон',
'items' => array(
'repeat' => 'Повторять фон',
'no-repeat' => 'Не повторять',
'repeat-x' => 'Повторять по горизонтали',
'repeat-y' => 'Повторять по вертикали'
)
)),
new fieldCheckbox('body_bg_off', array(
'title' => 'Отключить фоновое изображение',
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Виджеты',
'childs' => array(
new fieldNumber('widget_title_height', array(
'title' => 'Высота заголовков, px',
)),
new fieldNumber('widget_title_font_size', array(
'title' => 'Размер шрифта, px',
)),
new fieldColor('widget_title_bg_color', array(
'title' => 'Цвет фона заголовка',
)),
new fieldColor('widget_title_text_color', array(
'title' => 'Цвет текста заголовка',
)),
new fieldColor('widget_title_link_bg_color', array(
'title' => 'Цвет фона ссылок в заголовках',
)),
new fieldColor('widget_title_link_bg_hover_color', array(
'title' => 'Цвет фона ссылок в заголовках при наведении',
)),
new fieldColor('widget_title_link_text_color', array(
'title' => 'Цвет текста ссылок заголовках',
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Шрифты сайта',
'childs' => array(
new fieldText('fonts', array(
'title' => 'Подключить шрифты',
'hint' => 'Подключение шрифтов из внешнего источника через @import<br />Можно указать несколько, каждое подключение с новой строки<br />Например: @import url(\'https://fonts.googleapis.com/css?family=Roboto\');<br />Шрифты для сайта: <a target="_blank" href="https://fonts.google.com">GoogleFonts</a>'
)),
new fieldString('main_font', array(
'title' => 'Основной шрифт сайта',
'hint' => 'Укажите из подключенных к сайту шрифтов. Например: Roboto'
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Главное меню',
'childs' => array(
new fieldNumber('m_menu_height', array(
'title' => 'Высота меню, px',
)),
new fieldColor('m_menu_bg_color', array(
'title' => 'Цвет фона',
)),
new fieldColor('m_menu_bg_hover_color', array(
'title' => 'Цвет фона при наведении',
)),
new fieldColor('m_menu_bg_active_color', array(
'title' => 'Цвет фона активного пункта',
)),
new fieldNumber('m_menu_font_size', array(
'title' => 'Размер шрифта, px',
)),
new fieldColor('m_menu_font_color', array(
'title' => 'Цвет шрифта',
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Верхнее меню',
'childs' => array(
new fieldColor('t_menu_bg_color', array(
'title' => 'Цвет фона',
)),
new fieldColor('t_menu_font_color', array(
'title' => 'Цвет ссылок',
)),
new fieldColor('t_menu_font_hover_color', array(
'title' => 'Цвет при наведении',
)),
new fieldColor('t_menu_font_active_color', array(
'title' => 'Цвет активного пункта',
)),
new fieldNumber('t_menu_font_size', array(
'title' => 'Размер шрифта, px',
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Нижнее меню',
'childs' => array(
new fieldColor('f_menu_bg_color', array(
'title' => 'Цвет фона',
)),
new fieldColor('f_menu_font_color', array(
'title' => 'Цвет ссылок',
)),
new fieldColor('f_menu_font_hover_color', array(
'title' => 'Цвет при наведении',
)),
new fieldNumber('f_menu_font_size', array(
'title' => 'Размер шрифта, px',
)),
)
),
array(
'type' => 'fieldset',
'title' => 'CSS',
'childs' => array(
new fieldText('main_css', array(
'title' => 'Пользовательский CSS сайта',
'hint' => 'Здесь вы можете добавить свои стили для сайта<style>textarea#main_css{height:300px;font-size:12px;line-height:14px;}</style>. Без необходимости исправлять файлы CSS.'
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Head',
'childs' => array(
new fieldText('main_head', array(
'title' => 'Пользовательский код в head<style>textarea#main_head{height:300px;font-size:12px;line-height:14px;}</style>',
)),
)
),
array(
'type' => 'fieldset',
'title' => 'FavIcon',
'childs' => array(
new fieldImage('favicon', array(
'title' => 'Favicon 16x16',
'hint' => 'В формате png. Размер: 16х16px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('favicon_32', array(
'title' => 'Favicon 32x32',
'hint' => 'В формате png. Размер: 32х32px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('favicon_96', array(
'title' => 'Favicon 96x96',
'hint' => 'В формате png. Размер: 96х96px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('favicon_192', array(
'title' => 'Favicon 192',
'hint' => 'В формате png. Размер: 192х192px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
)
),
array(
'type' => 'fieldset',
'title' => 'AppleIcon',
'childs' => array(
new fieldImage('apple_icon_57', array(
'title' => 'Apple Touch Icon 57x57',
'hint' => 'В формате png. Размер: 57х57px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('apple_icon_60', array(
'title' => 'Apple Touch Icon 60x60',
'hint' => 'Рекомендуется в формате png. Размер: 60х60px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('apple_icon_72', array(
'title' => 'Apple Touch Icon 72x72',
'hint' => 'В формате png. Размер: 72х72px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('apple_icon_76', array(
'title' => 'Apple Touch Icon 76x76',
'hint' => 'В формате png. Размер: 76х76px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('apple_icon_114', array(
'title' => 'Apple Touch Icon 114x114',
'hint' => 'В формате png. Размер: 114х114px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('apple_icon_120', array(
'title' => 'Apple Touch Icon 120x120',
'hint' => 'В формате png. Размер: 120х120px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('apple_icon_144', array(
'title' => 'Apple Touch Icon 144x144',
'hint' => 'В формате png. Размер: 144х144px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('apple_icon_152', array(
'title' => 'Apple Touch Icon 152x152',
'hint' => 'В формате png. Размер: 152х152px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('apple_icon_180', array(
'title' => 'Apple Touch Icon 180x180',
'hint' => 'В формате png. Размер: 180х180px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Яндекс.Виджет',
'childs' => array(
new fieldColor('yw_bg_color', array(
'title' => 'Цвет фона закладки в Яндекс.Браузере',
)),
new fieldImage('yw_image', array(
'title' => 'Логотип для закладки в Яндекс.Браузере',
'hint' => 'Картинка должна быть в формате png с прозрачным фоном. Высота не более 50px. Ширина не более 150px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Windows.Плитка',
'childs' => array(
new fieldColor('win_color', array(
'title' => 'Цвет фона плитки',
)),
new fieldImage('win_70', array(
'title' => 'Windows Icon 70x70',
'hint' => 'В формате png. Размер: 70х70px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('win_144', array(
'title' => 'Windows Icon 144x144',
'hint' => 'В формате png. Размер: 144x144px',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('win_150', array(
'title' => 'Windows Icon 150x150',
'hint' => 'В формате png. Размер: 150х150px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('win_310x150', array(
'title' => 'Windows Icon 310x150',
'hint' => 'В формате png. Размер: 310х150px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
new fieldImage('win_310', array(
'title' => 'Windows Icon 310x310',
'hint' => 'В формате png. Размер: 70х70px.',
'options' => array(
'sizes' => array('small', 'original')
)
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Скины',
'childs' => array(
new fieldText('skins', array(
'title' => 'Подключение скинов',
'hint' => 'Каждый скин с новой строки. Можно использовать маску url через знак |'
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Шаблоны сайта',
'childs' => array(
new fieldText('tpl', array(
'title' => 'Изменить шаблон сайта',
'hint' => 'Каждый шаблон с новой строки. Можно использовать маску url через знак |'
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Фильтр текста',
'childs' => array(
new fieldString('filter_fields', array(
'title' => 'Поля для фильтрации',
'hint' => 'Укажите через запятую системные имена полей, в которых необходимо включить фильтр. Это применимо как к типа контента так и к профилю пользователя.'
)),
new fieldCheckbox('filter_on_content', array(
'title' => 'Включить фильтр в контенте',
)),
new fieldCheckbox('filter_on_profile', array(
'title' => 'Включить фильтр в профиле пользователя',
)),
new fieldCheckbox('filter_on_comments', array(
'title' => 'Включить фильтр в комментариях',
)),
new fieldCheckbox('filter_on_wall', array(
'title' => 'Включить фильтр на стене',
)),
new fieldText('filter_text', array(
'title' => 'Замена текста<style>textarea#filter_text{height:300px;font-size:12px;line-height:14px;}</style>',
'hint' => 'Через разделитель "|". Пример: белый|черный - везде где встречается, слово "белый"" будет заменено на "черный"'
)),
new fieldText('filter_regular', array(
'title' => 'Регулярные выражения<style>textarea#filter_regular{height:300px;font-size:12px;line-height:14px;}</style>',
'hint' => 'Через разделитель "|". Можно использовать регулярные выражения.'
)),
new fieldText('filter_link', array(
'title' => 'Перелинковка<style>textarea#filter_link{height:300px;font-size:12px;line-height:14px;}</style>',
'hint' => 'Заменить слова на указанные ссылки. Через разделитель "|". Пример: новости|/news.'
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Вкладка',
'childs' => array(
new fieldString('comments_tab_title', array(
'title' => 'Заголовок вкладки'
)),
new fieldText('comments_tab_html', array(
'title' => 'Содержание вкладки'
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Редиректы',
'childs' => array(
new fieldText('redirect', array(
'title' => 'Правила для редиректов<style>textarea#redirect{height:300px;font-size:12px;line-height:14px;}</style>',
'hint' => 'Через разделитель "Старая страница|Новая страница".<br />Можно поставлять * вместо случайных значений.<br />Каждое правило с новой строки.'
)),
)
),
array(
'type' => 'fieldset',
'title' => '404',
'childs' => array(
new fieldList('error404', array(
'title' => 'Шаблон страницы 404',
'generator' => function($cat){
$items = array();
$items[null] = 'По умолчанию';
$skins = files_tree_to_array('templates/ktpl/assets/errors/skins/');
if ($skins){
foreach($skins as $key=>$item){
$items[$key] = $key;
}
}
return $items;
}
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Robots.txt',
'childs' => array(
new fieldText('robots', array(
'title' => 'Файл Robots.txt<style>textarea#robots{height:300px;font-size:12px;line-height:14px;}</style>',
'hint' => 'Используется, если отсутствует файл robots.txt в корне сайта'
)),
)
),
array(
'type' => 'fieldset',
'title' => 'Гостевой доступ',
'childs' => array(
new fieldNumber('guest_id', array(
'title' => 'Анонимный пользователь',
'hint' => 'Укажите id пользователя, который будет представляться анонимом'
)),
new fieldList('ctypes_guest_pub', array(
'is_multiple' => true,
'title' => 'Типы контента',
'hint' => 'В каких типах контента разрешить гостевую публикацию?',
'generator' => function ($data) {
$ctypes = cmsCore::getModel('content')->getContentTypes();
if ($ctypes) {
foreach ($ctypes as $ctype) {
$items[$ctype['name']] = $ctype['title'];
}
}
return $items;
}
)
),
)
),
);
}
}