Техническая документация Irbis

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

Структура каталогов

cache Файловый кеш
class Основные классы обработчики
cron Скрипты создания backup
css Файлы css дизайна
image Картинки дизайна
imgbank Файлы выгрузок/загрузок
include Файлы SQL запросов
js Файлы js дизайна
lib Библиотеки php, общие для всех проектов
libp Библиотеки js, общие для всех проектов
mpanel Админ панель MPanel
single Дополнительные библиотеки подключаемые только в текущем проекте
spec Связь ссылок на сайте с обработчиками (Роутинг)
template Шаблоны внешнего вида(подключенный дизайн)
verstka Исходные файлы верстки


Каталог cache

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

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

$sCacheName='название_файла_кеша';
$sCacheDir='название_директории_кеша'

if(!($aBrands=FileCache::GetValue($sCacheDir, $sCacheName))) {
    $aBrands=Db::GetAll($sSql);
    FileCache::SetValue($sCacheDir, $sCacheName, $aBrands);
}

В данном примере мы получаем массив $aBrands из файлового кеша, а в случае отсутствия необходимого кеша - выполняется запрос получения $aBrands из базы данных и сохранение данных в кеш.

Каталог class

Каталог cron

Содержит папку "local" в которой размещены файлы:

  • backup.sh - скрипт для сохранения дампа основной базы. Скрипт выполняется каждые сутки.
  • backup_weekly.sh - скрипт для сохранения таблиц cross и cross_stop. Скрипт выполняется 1 раз в неделю.

Каталог css

Содержит файлы css проекта, подключенные в данном дизайне. Также может содержать css от дополнительных библиотек.

Каталог image

Содержит изображения использующиеся в дизайне сайта.

Каталог imgbank

Каталог include

Каталог js

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

  • jquery
  • jquery.maskedinput
  • jquery.validate

Каталог lib

Содержит библиотеки php подключенные к проекту, например:

  • adodb - работа с базой
  • PHPExcel - работа с xls/xlsx файлами
  • smarty - работа с шаблонизатором smarty
  • sphinx - релевантный поиск
  • и другие
Данные библиотеки являются общими для всех проектов!

Каталог libp

Содержит библиотеки в основном js подключенные к проекту, например:

  • FCKeditor - визуальный html редактор
  • xajax - библиотека для работы с ajax
  • popcalendar - всплывающий элемент выбора даты
  • и другие
Данные библиотеки являются общими для всех проектов!

Каталог mpanel

Каталог single

Каталог для подключения любых библиотек php/js использующихся индивидуально на данном проекте.

Каталог spec

Содержит файлы для связи ссылок на сайте и обработчиков в папке class. Основные файлы директории:

  • call_me.php - заказ звонка
  • cart.php - корзина и оформление заказа
  • catalog.php - подбор по каталогу
  • catalog_manager.php - редактирование каталога
  • contact_form.php - страница контактной информации и форма обратной связи
  • cron.php - автоматический запуск периодичных событий
  • customer.php - редактирование информации пользователя
  • dashboard.php - личный кабинет пользователя
  • finance.php - управление счетами
  • garage_manager.php - просмотр и редактирование менеджерами гаража полььзователя
  • home.php - главная страница
  • manager.php - функционал менеджера
  • manager_cart.php - просмотр менеджером корзины пользователей
  • manager_invoice_customer.php - работа с накладными для менеджера
  • message.php - внутренние сообщения
  • news.php - новости
  • own_auto.php - гараж автомобилей
  • payment.php - модули оплаты
  • payment_declaration.php - декларации доставки пользователя
  • payment_declaration_manager.php - декларации доставки менеджера
  • payment_report.php - сообщение об оплате пользователя
  • payment_report_manager.php - сообщение об оплате менеджера
  • price.php - загрузка прайса
  • price_group.php - группы прайсов
  • price_profile.php - профили загрузки прайсов
  • price_queue.php - очередь загрузки прайсов
  • price_search_log.php - история поиска по коду
  • print_content.php - вывод на печать
  • rubricator.php - рубрикатор
  • search.php - релевантный поиск
  • test.php - тестовая страница, может использоваться для проверки функционала отдельных модулей
  • user.php - регистрация пользователя, вход на сайт, выход
  • vin_request.php - работа с VIN запросами


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

<?php
$sPrefix='customer_';
$oObject=new Customer();

switch (Base::$aRequest['action'])
{
	case $sPrefix.'profile':
		$oObject->Profile();
		break;

	case $sPrefix.'phone':
	case $sPrefix.'phone_edit':
		$oObject->Phone();
		break;

	case $sPrefix.'change_rating':
		$oObject->ChangeRating();
		break;

	default:
		$oObject->Index();
		break;
}
?>

В данном примере описана связь страниц:

с обработчиками в классе Customer (/class/module/Customer.php)

Каталог template

Каталог verstka

Данный каталог содержит исходные файлы верстки сайта. Необходим для сохранения истории верстки.

Файлы главной директории

.htaccess Настройки WEB сервера и дополнительные параметры перенаправления для ЧПУ страниц
action_includer.php Механизм связи ссылок на сайте(spec) и обработчиков(class)
connect.php Настройки подключения к базе данных, TecDoc, настройки языка и cookies
connect_sample.php Пример файла подключения
favicon.ico Иконка сайта для браузера
index.php Главный исполнительный файл.
init.php Инициализация библиотек и ядра.
xajax_request_parser.php Обработчик xajax

11

aaa


22

bbb


32

ccc