Материал из Joonte Wiki
Перейти к: навигация, поиск
Ключевые слова: смена логотипа, изминение дизайна

Под кастомазийнгом в данной статье мы понимаем процесс замены (переопределения) определенных частей биллинговой системы (стилей, шаблонов, модулей, библиотек и т.д.) собственными.

Для начала рассмотрим файловую структуру системы.

Файловая структура системы

  • core - ядро системы;
  • hosts - функциональные части;
  • styles - стили оформления;
  • db - структуры базы данных;
  • scripts - служебные сценарии-утилиты;
  • tmp - временные файлы системы.

Файловая структура определяет модель размещения элементов системы, что в первую очередь определяет принципы ее функционирования. Принципы функционирования системы

Все элементы системы находящиеся в папках hosts, styles, db, scripts разделены на так называемые хосты - функциональные части, каждая из которых содержит в себе совокупность определенного набора функций.

Базовые хосты

  • root - базовая часть функционала, работа системы без него невозможна;
  • billing - базовый набор функций учета: клиентов, договоров, счетов и т.д.;
  • jbs-server - набор функций для обеспечения поддержки многопоточного сервера;
  • hosting - набор функций для учета заказов хостинга и доменов.

Ядро объединяет все функциональные части между собой, получая экземпляр системы с набором определенных возможностей.

Ядро использует принцип каскадирования для объединения элементов функциональных частей.

Принцип каскадирования

Функциональные части объединены в каскад или последовательность в которой ядро ищет необходимый в конкретный момент времени элемент.

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

Программа установки создает специальный хост с именем вашего домена в папках hosts и styles, назначая ему в каскадной последовательности наивысший приоритет.

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

Последовательность хостов в которой осуществляется поиск находиться в файле host.ini расположенном в папке hosts/domain, где domain имя вашего домена.

Такой принцип каскадирования используется системой касательно всех элементов: библиотек, классов, компонентов, шаблонов, таблиц стилей, изображений и т.д., позволяющий производить динамическое изменение модели элементов системы заменяя их на собственные.

Переопределение стилей

На данный момент биллинговая системы содержит следующие элементы стилей:

  • Таблицы стилей (Css);
  • Изображения (Images);
  • JavaScript сценарии (Js);
  • Навигационные меню (Menus);
  • Flash (Swf).

Замена логотипа биллинговой системы

Перейдем в папку styles, где увидим список текущих хостов содержащих элементы стилей. Логотип по умолчанию определен в хосте billing в папке Images файл TopLogo.png. Его путь относительно папки styles выглядит как:

billing/Images/TopLogo.png

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

Перейдем в папку вашего хоста относительно папки styles, где domain - имя вашего домена styles/domain. Если такой папки не существует - создаем ее.

Далее нам необходимо повторить путь до файла (такой же как в хосте billing), т.е. он должен выглядеть как (где domain - имя вашего домена):

styles/domain/Images/TopLogo.png

Таким образом данное изображение при поиске будет найдено в вашем хосте и на этом поиск остановиться.

Аналогичным образом могут быть заменены любые элементы стилей. Однако, после каждой замены элементов, необходимо очиcтить кэш системы:
sh srcipts/root/flush.sh

Переопределение базовой таблицы стилей

Она находиться в хосте root в папке Css файл Standard.css.

Вы можете переопределять в ней отдельные стили элементов создав файл (где domain - имя вашего домена):

styles/domain/Css/Standard.css

Однако файл:

styles/billing/Css/Standard.css

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

Замена базового шаблона оформления

Интерфейс биллинговой системы основан на собственном механизме композиции XML шаблонов и DOM (Document Object Model).

Базовый шаблон находится по адресу:

hosts/billing/domtemplates/Base.xml

Для того что бы переопределить его скопируйте его в свой хост (где domain - имя вашего домена):

hosts/domain/domtemplates/Base.xml

Содержимое шаблона:

<?xml version="1.0" encoding="utf-8"?>
<HTML id="Root">
 <HEAD id="Head">
  <TITLE id="Title"></TITLE>
  <META http-equiv="Content-Type" content="text/html; charset=utf-8" />
 </HEAD>
 <BODY id="Body">
  <TABLE cellspacing="0" align="center" cellpadding="0" width="1000">
   <TR>
    <TD>
     <TABLE cellspacing="0" height="100%" cellpadding="0">
      <TR id="Top">
       <TD>
        <IMG src="SRC:{Images/TopLogo.png}" />
       </TD>
      </TR>
     </TABLE>
    </TD>
   </TR>
   <TR>
    <TD>
     <COMP id="TopPanel" path="TopPanel" />
    </TD>
   </TR>
   <TR>
    <TD id="Main" />
   </TR>
   <TR>
    <TD id="Foot" style="border-top:2px solid #DCDCDC;padding:10px;" />
   </TR>
  </TABLE>
  <DIV id="Floating" />
 </BODY>
</HTML>

При обработке в отдельные части данного шаблона добавляются элементы интерфейса. Ключевой, динамической частью является элемент, имеющий идентификатор (id) Main.

Именно по идентификаторам система обработки шаблонов находит нужные части документа для вставки других элементов интерфейса. Вы можете добавить собственный элемент назначив ему идентификатор Main и тогда добавление будет происходить в него.

Внимание! Все элементы с идентификаторами определенные в базовом шаблоне так же должны присутствовать и в вашем.