Описание демо-сайта
1. Компоненты
Сайт состоит из четырех основных компонентов:
– библиотека доступа к данным OTAPIlib и конфигурация для нее;
– системные библиотеки;
– файл конфигурации сайта;
– файлы шаблонов;
– функциональные блоки сайта.
Библиотека OTAPIlib представлена файлом otapilib. php
Содержит php-обертку над сервисом OTAPI. Ее методы соответствуют методам сервиса. Входные параметры передаются в параметрах функции. Результат обычно возвращается в виде массива. Если во время работы произошла какая-либо ошибка – метод возвращает false.
Конфигурационный файл для библиотеки содержит константы с авторизационными данными и именем сайта.
Конфигурационный файл должен иметь имя configcustom. php и быть расположен в корне сайта. В архиве содержится шаблон для конфигурационного файла сайта (configcustom_template. php).
Для работы библиотеки используется системная библиотека CURL.
Возможно включение режима кеширования блоков на сайте. Для этого в configcustom. php прописана строка define(‘CFG_CACHED’, 1); При этом обязательно должны стоять права на запись в папку cache.
Системные библиотеки предназначены для функционирования «движка» сайта.
Файл конфигурации сайта config/config.php содержит настройки «движка» сайта, задает пути для других компонентов сайта, инициализирует шаблонизатор и другие компоненты.
Файлы шаблонов находятся в папке templatescustom и задают внешний вид сайта. Почти все шаблоны работают прямо с данными, полученными от библиотеки OTAPIlib.
Если необходимого шаблона нету в папке templatescustom, то она ищется в папке templates. Это позволяет пользователю обновлять сайт без опасений затирания собственных шаблонов.
Классы функциональных блоков расположены в папке blockscustom. Весь функционал по получению данных от OTAPIlib и обработка пользовательских запросов выполняется в них. Если необходимого блока нету в в папке blockscustom, то он ищется в папке custom. Это позволяет пользователю обновлять сайт без опасений затирания собственных блоков.
2. Описание работы сайта
«Движок» сайта представляет собой классическую MVC-структуру, в которой моделью является OTAPIlib, контроллером – функциональные блоки, а отображением – шаблонизатор и шаблоны.
Необходимая к отображению страница сайта определяется по переданному в URL параметру p.
В файле index. php в зависимости от выбранной страницы инициализируются необходимые для неё блоки и задается шаблон страницы:
switch(SCRIPT_NAME)
{
case 'index':
$CFG_CREATE_BLOCKS = array ('Header', 'Footer', 'Menu');
define('CFG_PAGE_TEMPLATE', 'index');
break;
case 'category':
$CFG_CREATE_BLOCKS = array ('Header', 'Footer', 'ItemList', 'Crumbs');
define('CFG_PAGE_TEMPLATE', 'category');
break;
...
Далее отображается шаблон страницы, в который передаются данные от сгенерированных блоков.
Каждый блок представляет собой потомок класса GenerateBlock.
class Crumbs extends GenerateBlock
{
protected $_cache = false; //кэшируем или нет
protected $_life_time = 3600; //время на которое будем кэшировать
protected $_template = 'crumbs'; //шаблон, на основе которого будем собирать блок
protected $_template_path = '/main/'; //путь к шаблону
...
Кэширование необходимо включать, если блок отображает статическую информацию или редко обновляемую динамическую.
Основной метод, вызываемый для подготовки данных блока – setVars().
Данные для шаблона задаются конструкцией:
$this->tpl->assign('<<имя переменной>>', '<<значение переменной>>');
Шаблон представляет собой HTML-файл с PHP-вставками.
3. Установка
Установка сайта достаточно проста. Достаточно распаковать архив в корень сайта и установить права на запись на папку cache.
Кроме этого необходимо проследить о наличии правильных параметров доступа к сервису OTAPI.


