Техническая документация Irbis — различия между версиями
(→Каталог mpanel) |
|||
Строка 130: | Строка 130: | ||
= Каталог mpanel = | = Каталог mpanel = | ||
+ | |||
+ | Содержит обработчики админ панели MPanel. | ||
+ | Также содержит 2 файла: | ||
+ | * index.php - страница приветствия и входа в MPanel | ||
+ | * login.php - механизм связи обработчиков и ссылок в MPanel | ||
+ | |||
+ | Все обработчики находятся в поддиректории "spec" и отличаются от файлов директории "spec" в корне сайта тем что более унифицированы и являются не промежуточным звеном, а именно содержат код самого обработчика. | ||
+ | |||
+ | Основные файлы: | ||
+ | * account.php - | ||
+ | * account_log.php - | ||
+ | * admin_regulations.php - | ||
+ | * article.php - | ||
+ | * article_category.php - | ||
+ | * attachment.php - | ||
+ | * banner.php - | ||
+ | * bill.php - | ||
+ | * cart_history.php - | ||
+ | * cart_package_sign.php - | ||
+ | * cat.php - | ||
+ | * cat_group_margin.php - | ||
+ | * cat_model.php - | ||
+ | * cat_model_group.php - | ||
+ | * cat_part.php - | ||
+ | * cat_pref.php - | ||
+ | * catalog_adm.php - | ||
+ | * comment.php - | ||
+ | * complex_margin.php - | ||
+ | * constant.php - | ||
+ | * context_hint.php - | ||
+ | * customer.php - | ||
+ | * customer_group.php - | ||
+ | * delivery_type.php - | ||
+ | * directory.php - | ||
+ | * directory_category.php - | ||
+ | * directory_city.php - | ||
+ | * directory_config.php - | ||
+ | * directory_new.php - | ||
+ | * directory_sto.php - | ||
+ | * directory_tag.php - | ||
+ | * discount.php - | ||
+ | * drop_down_additional.php - | ||
+ | * faq.php - | ||
+ | * faq_category.php - | ||
+ | * form.php - | ||
+ | * form_item.php - | ||
+ | * form_value.php - | ||
+ | * general_account_log.php - | ||
+ | * general_constant.php - | ||
+ | * glossary.php - | ||
+ | * handbook.php - | ||
+ | * hbparams_editor.php - | ||
+ | * help_local.php - | ||
+ | * log_admin.php - | ||
+ | * log_debt.php - | ||
+ | * log_finance.php - | ||
+ | * log_mail.php - | ||
+ | * log_sms.php - | ||
+ | * log_visit.php - | ||
+ | * manager.php - | ||
+ | * manual.php - | ||
+ | * manual_category.php - | ||
+ | * message_note.php - | ||
+ | * news.php - | ||
+ | * office.php - | ||
+ | * office_city.php - | ||
+ | * office_country.php - | ||
+ | * office_region.php - | ||
+ | * payment_type.php - | ||
+ | * permission.php - | ||
+ | * popular_products.php - | ||
+ | * price.php - | ||
+ | * price_analysis.php - | ||
+ | * price_group.php - | ||
+ | * price_group_pref.php - | ||
+ | * price_group_template.php - | ||
+ | * provider.php - | ||
+ | * provider_group.php - | ||
+ | * provider_pref.php - | ||
+ | * provider_region.php - | ||
+ | * provider_statistic.php - | ||
+ | * provider_virtual.php - | ||
+ | * rating.php - | ||
+ | * rating_log.php - | ||
+ | * report.php - | ||
+ | * rubricator.php - | ||
+ | * stat_manager.php - | ||
+ | * store_products.php - | ||
+ | * stores.php - | ||
+ | * translate.php - | ||
+ | * translate_message.php - | ||
+ | * translate_text.php - | ||
+ | * user.php - | ||
+ | * user_account_log.php - | ||
+ | * user_account_log_type.php - | ||
+ | |||
= Каталог single = | = Каталог single = | ||
Версия 16:24, 21 ноября 2016
Содержание
Структура каталогов
cache | Файловый кеш |
class | Основные классы обработчики |
cron | Скрипты создания backup |
css | Файлы css дизайна |
image | Картинки дизайна |
imgbank | Файлы выгрузок/загрузок |
include | Файлы SQL запросов |
js | Файлы js дизайна |
lib | Библиотеки php, общие для всех проектов |
libp | Библиотеки js, общие для всех проектов |
mpanel | Админ панель MPanel |
single | Дополнительные библиотеки подключаемые только в текущем проекте |
spec | Связь ссылок на сайте с обработчиками (Роутинг) |
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 |
Каталог 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
Содержит обработчики админ панели MPanel. Также содержит 2 файла:
- index.php - страница приветствия и входа в MPanel
- login.php - механизм связи обработчиков и ссылок в MPanel
Все обработчики находятся в поддиректории "spec" и отличаются от файлов директории "spec" в корне сайта тем что более унифицированы и являются не промежуточным звеном, а именно содержат код самого обработчика.
Основные файлы:
- account.php -
- account_log.php -
- admin_regulations.php -
- article.php -
- article_category.php -
- attachment.php -
- banner.php -
- bill.php -
- cart_history.php -
- cart_package_sign.php -
- cat.php -
- cat_group_margin.php -
- cat_model.php -
- cat_model_group.php -
- cat_part.php -
- cat_pref.php -
- catalog_adm.php -
- comment.php -
- complex_margin.php -
- constant.php -
- context_hint.php -
- customer.php -
- customer_group.php -
- delivery_type.php -
- directory.php -
- directory_category.php -
- directory_city.php -
- directory_config.php -
- directory_new.php -
- directory_sto.php -
- directory_tag.php -
- discount.php -
- drop_down_additional.php -
- faq.php -
- faq_category.php -
- form.php -
- form_item.php -
- form_value.php -
- general_account_log.php -
- general_constant.php -
- glossary.php -
- handbook.php -
- hbparams_editor.php -
- help_local.php -
- log_admin.php -
- log_debt.php -
- log_finance.php -
- log_mail.php -
- log_sms.php -
- log_visit.php -
- manager.php -
- manual.php -
- manual_category.php -
- message_note.php -
- news.php -
- office.php -
- office_city.php -
- office_country.php -
- office_region.php -
- payment_type.php -
- permission.php -
- popular_products.php -
- price.php -
- price_analysis.php -
- price_group.php -
- price_group_pref.php -
- price_group_template.php -
- provider.php -
- provider_group.php -
- provider_pref.php -
- provider_region.php -
- provider_statistic.php -
- provider_virtual.php -
- rating.php -
- rating_log.php -
- report.php -
- rubricator.php -
- stat_manager.php -
- store_products.php -
- stores.php -
- translate.php -
- translate_message.php -
- translate_text.php -
- user.php -
- user_account_log.php -
- user_account_log_type.php -
Каталог 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; } ?>
В данном примере описана связь страниц:
- http://irbis.mstarproject.com/pages/customer_profile
- http://irbis.mstarproject.com/pages/customer_phone
- http://irbis.mstarproject.com/pages/customer_phone_edit
- http://irbis.mstarproject.com/pages/customer_change_rating
с обработчиками в классе Customer (/class/module/Customer.php)
Каталог template
Каталог verstka
Данный каталог содержит исходные файлы верстки сайта. Необходим для сохранения истории верстки.