Материал из Joonte Wiki
Перейти к: навигация, поиск
м
м
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{Keywords|смена логотипа, изминение дизайна}}
+
{{Keywords|смена логотипа, изменение дизайна}}
  
 
Под кастомазийнгом в данной статье мы понимаем процесс '''замены''' (переопределения) определенных частей биллинговой системы (стилей, шаблонов, модулей, библиотек и т.д.) собственными.
 
Под кастомазийнгом в данной статье мы понимаем процесс '''замены''' (переопределения) определенных частей биллинговой системы (стилей, шаблонов, модулей, библиотек и т.д.) собственными.
Строка 14: Строка 14:
  
 
Файловая структура определяет '''модель''' размещения элементов системы, что в первую очередь определяет принципы ее функционирования.
 
Файловая структура определяет '''модель''' размещения элементов системы, что в первую очередь определяет принципы ее функционирования.
Принципы функционирования системы
+
 
 +
=Принципы функционирования системы=
  
 
Все элементы системы находящиеся в папках hosts, styles, db, scripts разделены на так называемые '''хосты''' - функциональные части, каждая из которых содержит в себе совокупность определенного набора функций.
 
Все элементы системы находящиеся в папках hosts, styles, db, scripts разделены на так называемые '''хосты''' - функциональные части, каждая из которых содержит в себе совокупность определенного набора функций.
  
== Базовые хосты: ==
+
= Базовые хосты =
 
* root - базовая часть функционала, работа системы без него невозможна;
 
* root - базовая часть функционала, работа системы без него невозможна;
 
* billing - базовый набор функций учета: клиентов, договоров, счетов и т.д.;
 
* billing - базовый набор функций учета: клиентов, договоров, счетов и т.д.;
* jbs-server - набор функций для обеспечения поддержки многопоточного сервера;
 
 
* hosting - набор функций для учета заказов хостинга и доменов.
 
* hosting - набор функций для учета заказов хостинга и доменов.
  
Строка 69: Строка 69:
 
Таким образом данное изображение при поиске будет найдено в вашем хосте и на этом поиск остановиться.
 
Таким образом данное изображение при поиске будет найдено в вашем хосте и на этом поиск остановиться.
  
{{notice|Аналогичным образом могут быть заменены любые элементы стилей. Однако, после каждой замены элементов, необходимо очиcтить кэш системы:}}}
+
{{notice|Аналогичным образом могут быть заменены любые элементы стилей. Однако, после каждой замены элементов, необходимо очиcтить кэш системы:}}
 
<pre>
 
<pre>
 
sh srcipts/root/flush.sh
 
sh srcipts/root/flush.sh
Строка 106: Строка 106:
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="utf-8"?>
 
<?xml version="1.0" encoding="utf-8"?>
 +
<!-- @author Бреславский А.В. (Joonte Ltd.) -->
 
<HTML id="Root">
 
<HTML id="Root">
 
  <HEAD id="Head">
 
  <HEAD id="Head">
 
   <TITLE id="Title"></TITLE>
 
   <TITLE id="Title"></TITLE>
 +
  <LINK rel="alternate" type="application/rss+xml" title="Новости компании" href="/Rss/News" />
 
   <META http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
   <META http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
  </HEAD>
 
  </HEAD>
Строка 118: Строка 120:
 
       <TR id="Top">
 
       <TR id="Top">
 
       <TD>
 
       <TD>
         <IMG src="SRC:{Images/TopLogo.png}" />
+
         <IMG src="SRC:{Images/TopLogo.png}" style="display:block;" />
 
       </TD>
 
       </TD>
 
       </TR>
 
       </TR>
Строка 126: Строка 128:
 
   <TR>
 
   <TR>
 
     <TD>
 
     <TD>
     <COMP id="TopPanel" path="TopPanel" />
+
     <COMP id="TopPanel" path="TopPanel" debug="yes" />
 
     </TD>
 
     </TD>
 +
  </TR>
 +
  <TR height="10">
 +
    <TD />
 
   </TR>
 
   </TR>
 
   <TR>
 
   <TR>
     <TD id="Main" />
+
     <TD id="Context">
 +
    <TABLE cellspacing="0" cellpadding="0" width="100%" height="100%">
 +
      <TR>
 +
      <COMP id="MenuLeft" path="Menus/Left" />
 +
      <TD valign="top">
 +
        <DIV class="Title" id="Title" />
 +
        <TABLE width="100%" cellspacing="5" cellpadding="0">
 +
        <TR>
 +
          <TD id="Into" />
 +
        </TR>
 +
        </TABLE>
 +
      </TD>
 +
      </TR>
 +
    </TABLE>
 +
    </TD>
 
   </TR>
 
   </TR>
 
   <TR>
 
   <TR>
     <TD id="Foot" style="border-top:2px solid #DCDCDC;padding:10px;" />
+
     <TD style="border-top:2px solid #DCDCDC;">
 +
    <TABLE cellspacing="5" width="100%" cellpadding="0">
 +
      <TR>
 +
      <TD id="Copyright" />
 +
      <TD align="right">
 +
        <A title="Биллинг для хостинга и регистрации доменов" href="http://www.joonte.com/" style="font-size:11px;color:#848484;">биллинг Joonte 2007-2009</A>
 +
      </TD>
 +
      </TR>
 +
    </TABLE>
 +
    </TD>
 
   </TR>
 
   </TR>
 
   </TABLE>
 
   </TABLE>
Строка 141: Строка 169:
 
</pre>
 
</pre>
  
При обработке в отдельные части данного шаблона добавляются элементы интерфейса. Ключевой, динамической частью является элемент, имеющий идентификатор (id) '''Main.'''
+
При обработке в отдельные части данного шаблона добавляются элементы интерфейса. Ключевой, динамической частью является элемент, имеющий идентификатор (id) '''Into.'''
  
Именно по идентификаторам система обработки шаблонов находит нужные части документа для вставки других элементов интерфейса. Вы можете добавить собственный элемент назначив ему идентификатор Main и тогда добавление будет происходить в него.
+
Именно по идентификаторам система обработки шаблонов находит нужные части документа для вставки других элементов интерфейса. Вы можете добавить собственный элемент назначив ему идентификатор Into и тогда добавление будет происходить в него.
  
 
{{notice|Внимание! Все элементы с идентификаторами определенные в базовом шаблоне так же должны присутствовать и в вашем.}}
 
{{notice|Внимание! Все элементы с идентификаторами определенные в базовом шаблоне так же должны присутствовать и в вашем.}}

Текущая версия на 16:41, 31 августа 2009

Ключевые слова: смена логотипа, изменение дизайна

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

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

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

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

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

Принципы функционирования системы

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

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

  • root - базовая часть функционала, работа системы без него невозможна;
  • billing - базовый набор функций учета: клиентов, договоров, счетов и т.д.;
  • 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"?>
<!-- @author Бреславский А.В. (Joonte Ltd.) -->
<HTML id="Root">
 <HEAD id="Head">
  <TITLE id="Title"></TITLE>
  <LINK rel="alternate" type="application/rss+xml" title="Новости компании" href="/Rss/News" />
  <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}" style="display:block;" />
       </TD>
      </TR>
     </TABLE>
    </TD>
   </TR>
   <TR>
    <TD>
     <COMP id="TopPanel" path="TopPanel" debug="yes" />
    </TD>
   </TR>
   <TR height="10">
    <TD />
   </TR>
   <TR>
    <TD id="Context">
     <TABLE cellspacing="0" cellpadding="0" width="100%" height="100%">
      <TR>
       <COMP id="MenuLeft" path="Menus/Left" />
       <TD valign="top">
        <DIV class="Title" id="Title" />
        <TABLE width="100%" cellspacing="5" cellpadding="0">
         <TR>
          <TD id="Into" />
         </TR>
        </TABLE>
       </TD>
      </TR>
     </TABLE>
    </TD>
   </TR>
   <TR>
    <TD style="border-top:2px solid #DCDCDC;">
     <TABLE cellspacing="5" width="100%" cellpadding="0">
      <TR>
       <TD id="Copyright" />
       <TD align="right">
        <A title="Биллинг для хостинга и регистрации доменов" href="http://www.joonte.com/" style="font-size:11px;color:#848484;">биллинг Joonte 2007-2009</A>
       </TD>
      </TR>
     </TABLE>
    </TD>
   </TR>
  </TABLE>
  <DIV id="Floating" />
 </BODY>
</HTML>

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

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

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