Создание настроек темы оформления в InSales

14
Как добавить возможность настройки темы на CMSInSales?

description

 

Transcript of Создание настроек темы оформления в InSales

Page 1: Создание настроек темы оформления в InSales

Как добавить возможность настройки темы на CMSInSales?

Page 2: Создание настроек темы оформления в InSales

Где находятся настройки темы?

В разделе Сайт -> Дизайн -> Настройка темы бекофиса InSales

Page 3: Создание настроек темы оформления в InSales

Как использовать возможность настройки в своей теме?

• После сохранения темы InSales на

локальный диск в сохраненном архиве

можно увидеть такие директории.

Сейчас нас будет интересовать директория config –

именно в ней находится интерфейс настройки и

переменные, которые можно использовать для настройки

• В директории находятся два файла: settings.html и

settings_data.json

• В первом – сверстанный интерфейс настройки темы, во

втором – значения переменных по умолчанию.

• К сожалению, в InSales пока нет «родного» интерфейса

для редактирования возможностей настройки тем.

Page 4: Создание настроек темы оформления в InSales

Как применить созданные настройки к интерфейсу темы?

• Атрибут value элементов интерфейса настройки темы с определенным

атрибутом name соответствуют методу объекта settings. Например –

settings.text_color – значение input’а c атрибутом name text_color

• Таким образом настройки можно применять к стилям и шаблонам

темы. При этом к имени файла стилей следует добавить .liquid, чтобы

сообщить системе о том, что файл стилей содержит liquid-код. Например,

style.css.liquid.

• При использовании какого-либо файла в настройках темы к выводу

этого файла в шаблоне нужно применять фильтр asset_url. Например, {{

settings.logo_image | asset_url }} – применить загруженное изображение

логотипа. При использовании файла в стилях этот фильтр применять не

обязательно.

• Сами значения атрибутов стиля следует заключить в двойные фигурные

скобки, как вывод любой другой переменной в liquid. Например, body

(color: {{ settings.text_color }};)

Page 5: Создание настроек темы оформления в InSales

А что делать с чекбоксами?

• Значения чекбоксов можно ставить как в стили, так и в сами коды

шаблонов.

• Удобнее всего это делать с помощью условия if.

Например, в настройках темы есть чекбокс

<input type="checkbox" id="show_shop_name" name="show_shop_name" value="1"

checked="checked"/>

(выводить ли название магазина, по умолчанию выводить)

В шаблоне где выводится название магазина пишем условие:

{% if settings.show_shop_name %}{{ account.title }}{% endif %}

Page 6: Создание настроек темы оформления в InSales

Самый продвинутый уровеньИспользование SVG

• В CMS InSales есть возможность использования SVG, при этом

сервер автоматически будет конвертировать файлы в формат

PNG (да, мы все еще поддерживаем IE6 ☺, и поэтому не стоит

забывать о PngFix, например, на jQuery)

• XML для отрисовки SVG-изображений следует загружать

вместе с другими файлами темы – в «Редактор тем» и

именовать как {{название файла, применяемого в стилях без

.png}}.liquid, при этом название файла должно содержать .svg,

и id элемента в XML должен совпадать с названием

получаемого изображения без svg и liquid

Пример – см. следующий слайд

Использование SVG вовсю приветствуется и может помочь

получить парочку бонусных баллов ☺

Page 7: Создание настроек темы оформления в InSales

Использование SVG. Пример. Фон блока

В стилях:.block { url('block_bg.svg.png');}

XML для отрисовки фона (файл block_bg.svg.liquid):<?xml version="1.0" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"

"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg width="5px" height="90px" version="1.1" xmlns="http://www.w3.org/2000/svg">

<defs>

<linearGradient id="block_bg" x1="0%" y1="0%" x2="0%" y2="100%">

<stop offset="0%" style="stop-color:{{ settings.block_bg_gradient_color }}; stop-opacity:1"/>

<stop offset="100%" style="stop-color:{{ settings.block_bg_color }}; stop-opacity:1"/>

</linearGradient>

</defs>

<rect width="5px" height="90px" style="fill:url(#block_bg)"/>

</svg>

И используемые в нем настройки описываем в settings.html:<tr> <th><label for="block_bg_color">Фон блока</label></th>

<td><input id="block_bg_color" name="block_bg_color" class="color" value="#F8F7F5"/></td>

</tr>

<tr><th><label for="block_bg_gradient_color“>Градиент фона блока</label></th>

<td><input id="block_bg_gradient_color" name="block_bg_gradient_color" class="color"

value="#F2ECE0"/></td></tr>

Page 8: Создание настроек темы оформления в InSales

Возможность использования cufon

• Для нестандартных шрифтов можно

использовать скрипт cufon. Получаемый с его

помощью векторный рисунок сервер также

будет сохранять в png самостоятельно.

• Это также можно использовать для настройки

темы.

Page 9: Создание настроек темы оформления в InSales

Пример использования cufon

Добавим в настройках темы галочку «использовать декоративный

шрифт» для названия магазина<tr> <td><label for="use_font_replacement">Использовать декоративный шрифт для названия

магазина</label></td>

<td><input type="checkbox" id="use_font_replacement" name="use_font_replacement" value="1"

checked="checked"/></td> </tr>

<tr><td><label for="fancy_font">Декоративный шрифт</label></td>

<td><select class="fancy_font" name="fancy_font" id="fancy_font">

<option value="WienLightBold_600.font.js" selected="selected">WienLight</option>

</select></td></tr>

Подгружаем в head шаблона скрипты для нестандартных шрифтов:{% if settings.use_font_replacement %}

<script type="text/javascript" src="{{ 'shop/cufon-yui.js' | global_asset_url }}"></script>

{% capture fancy_font %}shop/fonts/{{settings.fancy_font}}{% endcapture %}

<script type="text/javascript" src="{{ fancy_font | global_asset_url }}"></script>

<script type="text/javascript">

Cufon.replace('h1#logo span’)'

});

</script> {% endif %}

И выводим название с использованием прописанного id:<h1 id="logo"><a href="/“><span>{{ account.title }}</span></a></h1>

Page 10: Создание настроек темы оформления в InSales

• Скрипты шрифтов можно загружать в файлы темы, тогда

путь к ним будет прописываться с помощью фильтра

asset_url. Например, {{ ‘cufon.font_01.js’ | asset_url }}

• К таким шрифтам также можно применять градиенты,

созданные с помощью SVG.

Множество примеров по использованию можно найти в

стандартных темах InSales. SVG используется практически в

каждой теме, особенно для изучения использования всех

возможностей хороша тема «Телескоп».

Page 11: Создание настроек темы оформления в InSales

Устали от кода? Посмотрим картинки!

Но легким движением руки в настройках темы мы можем изменить ее цвет, например, на зеленый

По умолчанию корзина в теме «Стиль» при наведении выглядит так

Пользователи, как показывает практика, в восторге от таких «фишечек», и готовы будут заплатить за такую тему больше – ведь тут можно проявить свой творческий потенциал, не углубляясь в HTML, CSS и нудное рисование в фотошопе

Page 12: Создание настроек темы оформления в InSales

Не впечатляет? Еще пример

В теме «Телескоп» по умолчанию название магазина выглядит так

Изменением трех полей и без ковыряния в коде, либо фотошопе мы можем сделать его гораздо интересней

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

Page 13: Создание настроек темы оформления в InSales

Снова не впечатляет?

Посмотрите примеры магазинов, созданных нашими клиентами самостоятельно, без каких-либо правок в шаблонах

Page 14: Создание настроек темы оформления в InSales

Остались вопросы?Создавайте партнёрский аккаунт

http://www.insales.ru/new_partner

и обращайтесь в поддержку. Мы ответим.

http://www.insales.ru/blog

twitter:@insales