Категория:Создание темы

Материал из ISPWiki
Перейти к: навигация, поиск

Введение

Создание темы достаточно сложный процесс, а ее поддержка в актуальном виде еще более трудоёмкое занятие.

Если вы считаете это целесообразным, ниже представлена документация по ее созданию.

Вся тема состоит из xsl, css, js - файлов и картинок.

Для создания темы необходимо создать папку в /skins/, лежащую в корне панели, с название отличным от других тем и "common", и перезапустить COREmanager. Ваша тема появится в списке тем, но по выбору ее, вероятнее всего, будет белый экран.

На каждый вызов панель формирует xml с ответом, который нам с помощью xsl шаблонов нужно будет трансформировать в нужный нам формат, например html. Разные функции обрабатываюся разными шаблонами xsl.

Список обрабатываемых шаблонов:

login.xsl 
форма авторизации, функция logon
dashoard.xsl 
главная страница, функция dashboard
dashboard-report.xsl 
отчеты в дашборде
desktop.xsl 
главное меню, функция desktop
editinlist.xsl 
форма для редактирования в листе
eula.xsl 
пользовательское соглашение
extform.xsl 
внешние формы
extfunc.xsl 
mgr - внешние функции для windows
modules.xsl 
списки, формы, отчеты, прогресс
setvalues.xsl 
обработка пресетов
validator.xsl 
обработка валидаторов
notify.xsl 
Обработка нотификаций

Просмотр XML

Для просмотра XML сформированный менеджером в ответ на любой запрос, нужно к запросу добавить параметр out=devel.

Так же можно наблюдать XML в логах, для этого нужно, в настройках логирования, включить логирование модуля output, на уровень 9. (Главное меню -> Состояние системы -> Журнал ошибок -> Настройки -> Создать, Модуль - "работа с xml(core)", Уровень - "9 - трассировка кода"). По умолчанию логи лежать в /usr/local/mgr5/var/

Общее описание XML

В каждой XML формируемой панелью есть данные, об используемой теме, текущем языке, панели... Все эти данные содержатся в атрибутах корневого тега doc.

Пример из XML функции desktop COREmanager:

<doc lang="ru" func="desktop" binary="/core" host="https://127.0.0.1:1500" stylesheet="desktop" theme="/manimg/orion/" css="main.css" logo="logo.png" logolink="" favicon="favicon.ico" localdir="default/">
...
</doc>
@lang 
текущий язык
@func 
имя функции
@binary 
...
@host 
url сервера по которому доступны панели.
@stylesheet 
название xsl файла, без расширения, обрабатываемого данный XML. Если отсутсвует, то обрарабатывается modules.xsl
@theme 
путь до текущей темы
@css 
название css файла, в данный момент не используеся нигде
@logo 
имя логин файла, используемся для брендинга
@logolink 
ссылка с лого, используемся для брендинга
@favicon 
название favicon, используемся для брендинга
@localdir 
путь до css файлов и картинок темы, подверженных брендингу

Использование иконок

Общие иконки для тем, такие как иконки главного меню, свойств, кнопки тулбара, модулей - лежат в /usr/local/mgr5/skins/common/img/, и объединены в спрайты по размерам.

Для их использвания необходимо создать div размерами соответствующий иконки, и прописать класс размера, например s16x16, и класс названия иконки, например mb-sysstat, а так же подключить css файл спрайта sprite.css лежащий в /usr/local/mgr5/skins/common/. Путь для него одинаков для всех тем : /mainimg/common/sprites.css

Список спрайтов:

sprite-16x16.png 
содержит иконки размером 16x16 px, используемые в главном меню, свойствах.
sprite-16x17.png 
содержит иконки размером 16x17 px, используемые в формах в теме sirius.
sprite-24x24.png 
содержит иконки размером 24x24 px, используемые для кнопок тулбара.
sprite-48x48.png 
содержит иконки размером 48x48 px, используемые в заголовках модулей.