- system/conf.php
- доступы к БД
- URL сайта для генерации ссылок
- modules/{module_name}/Configuration.php
- конфигурация модуля
- system/controllers/StaticMethodsController.php
- роутер (путь => контроллер)
- Переводы хранятся в папке Locale. Чтобы перевести текст в шаблоне
.tpl
(Smarty), нужно обернуть это в тег{t}Переводимый текст{/t}
. Чтобы перевести текст PHP, нужно вызвать функцию_('Переводимый текст')
.
Класс авторизации описан в файле /system/auth.php
index.php
: requiresystem/core.php
иCore->run()
Core->init()
- установка временной зоны - установка кодировки скрипта - регистрация автолоадера классов
coreAutoload
- старт сессииЗагрузка всех модулей из папки
MODULES_DIR
(modules/) методомCore->buildModulesArray()
загрузка модулей
Core->buildModulesArray()
, а именно, формирование массива модулей, каждый из которых содержит следующие ключи: - titlestring
Пользователи - in_adminbool
true - urlstring
users - iconstring
fa-users - orderint
1 - routesarray
- actionsarray
- проверка авторизации
- включение вывода raw, если передан
ajax=true
- очистка кэша Smarty в случае включенного дебага
Core->getRequestUri()
установка языка перевода и локали, возврат ссылки без части
/{lang}
... инициализация вызываемого модуля
Core->exec($module, $action, $params)
$module->$action($params)
Вызов шаблона Smarty:
$this->getSmarty()->fetch()
libs/{class}.php
-modules/{class}/{class}.php
гдеmodules
- значение константыMODULES_DIR
из файла/system/conf.php
-system/controllers/{class}.php
-system/abstract/{class}.php
- каждый конкретный шаблон smarty компилируются при обновлении исходного
.tpl
файла, далее работает как кэш. Если новая компиляция прошла с ошибками, в работе остаётся старый кэш scss
компилируется только при константеDEBUG=true
в файлеsystem/conf.php
, при обращении к странице пользователя с логиномadmin_debug
и при наличии в вызове функцииsmarty_function_getcss($params)
ключа$params['rebuild']
со значениемtrue
Отладка включается константой DEBUG
в файле system/conf.php
. В режиме отладки происходит следующее:
- сброс кэша Smarty
Smarty::clearAllCache()
Кроме того, без константы, можно включить отображение областей .tpl
шаблонов, добавив в адрес страницы ?debug=template
Модули автоматически подключаются при инициализации ядра.
- автоматически подключаются все модули
modules/{class}/{class}.php
, где{class}
- название модуля - если существует
/modules/{class}/Configuration.php
, то он загружается первым
Core->$_modules =
[
"Banner" => [
"routes" => '',
"actions": [
"admin_show_content_form": []
]
],
"Catalog": [],
"Content": [
'title' => self::$_conf['title'],
'in_admin' => self::$_conf['in_admin'],
'url' => self::$_conf['url'],
'icon' => self::$_conf['icon'],
'order' => self::$_conf['order']
"routes":,
"actions": {
"admin_show_content_form": {
"title" => "Создать котент"
]
]
],
...
]
- Корзина /catalog/order/details/
- Контроллер:
system/controllers/CatalogController.php
->showOrderDetailsForm
- Шаблон:
modules/Catalog/templates/show_order_details_form.tpl
- Конфиг:
modules/Catalog/Configuration.php
->basket['order']['fields']
- Контроллер:
- Оплата /catalog/order/payment/
- Контроллер:
system/controllers/CatalogController.php -> showOrderPayment
- Шаблон:
templates/module/show_order_payment.tpl
- Класс LiqPay:
libs/LiqPay.php
- Конфиг:
modules/Catalog/Configuration.php
->basket['payment_keys']['liqpay']
- Контроллер: