Текущая версия: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) м (Admin переименовал страницу Версия 1.4.0 в Текущая версия) |
(нет различий)
| |
Версия от 17:35, 1 ноября 2022
Описание
Для работы CMS необходимо и достаточно склонировать репозиторий, скачать дамп БД и прописать настройки к ней в файле settings.php
Типовые вопросы
Всплывающие окна
Для создания всплывающего окна необходимо прописать путь в js /direct/test
Код всплывающего окна положить в /views/direct/test.api.php
Где test - название вашего всплывающего окна
Чтобы получить список дочерних страниц:
$Page = APP::getInstance()->page;
$albums = PAGECONSTRUCTOR::getPageChildren($Page->itemKey, $Page->group);
Установить страницу админки по-умолчанию:
Добавить в настройки опцию admin_homepage
Типичные ошибки
"Представление модели не обнаружено" - через "{% block %}" подключен несуществующий файл. Корневая директория для блоков - /views/
Ошибка 404 после обновления - некорректно заполнена переменная $_CARD_TEMPLATES в site_options.php
Может принимать значения вида array('catalog' => 'catalog', 'project' => 'testcatalog'); а также допустимо значение в виде пустого массива array();
Общая структура системы
Системные файлы хранятся в app/ Для кастомизации программных модулей используется local/ Для визуальной части используется views/
Структура панели администрирования
admin/ - панель администрирования, на сайте доступ через adm/
admin/admin.php - основной файл админки
admin/home.php - главная страница админки (если не предполагается - вверху сделать редирект)
admin/blocks/ - общая верстка панели администрирования
admin/blocks/aside.php - левое меню в админке
admin/blocks/head.php - блок <head> для всех страниц в админке
admin/blocks/header.php - верхнее меню в админке
admin/img/ - изображения, используемые в админке
admin/js/ - javascript-файлы используемый в админке
admin/js/main.js - основной файл с логикой работы админки
admin/js/tinymce - редактор tinymce
admin/js/tinymce/plugins/jbimages/config.php - файл настроек плагина загрузки изображений, переменная $config['img_path'] = '/content/upload';
admin/stylesheets/ - таблицы стилей для админки
admin/stylesheets/main.css - основные стили админки
admin/stylesheets/jstree.min.css - jquery ui (календарь)
admin/uploads/ - для сайтов с одной базой данных xls
admin/views/ - страницы админки
admin/views/config.php - аналог lib/img_lib.php
Структура ядра
classes/ - ядро движка и системные классы
classes/class.cache.php - классы кэширования данных
classes/class.db.php - классы подключения к базе данных
classes/class.debug.php - класс логгера
classes/core.php - ядро
classes/methods.php - описание системных вызовов движка, таких как post,get,api (частичная поддержка)
classes/utils.php - общие функции движка (interface OPTIONS, class EXECUTION_TIME)
classes/Pattern - объект страницы
lib - Сторонние библиотеки(Версия 1.4)
modules - Модули(Версия 1.4)
Типовые подключаемые блоки (/blocks)
blocks/ - типовые подключаемые блоки
blocks/aside.php - меню со списком категорий каталога
blocks/crumbs.php - хлебные крошки
blocks/footer.php - подвал сайта
blocks/head.php - блок <head> для всех страниц сайта
blocks/header.php - блок <header> для всех страниц сайта
Система кэширования (/app/cache)
Система кэширования реализована в виде нескольких частей:
1) кэширование основных опций (options)
2) кэширование шаблонов (различие с опциями во множественных значениях одного типа)
3) кэширование объектов каталога (cache/catalog)
4) пользовательские объекты кэша (cache/custom) - используются разработчиками сайтов
Пользовательский контент (/content)
Содержимое папки следует добавлять в .gitgnore
content/images - пользовательские изображения
content/pages - пользовательские файлы, загруженные в админке через tinymce
content/popups/ - содержит json-файлы с настройками форм
content/products/ - изображения каталога
content/products/6301fe43f126aa0358bec5e25efd531d/ - изображения для товара с артикулом 001
content/slides/ - изображения для слайдеров
Таблицы стилей (/css)
css/ (на некоторых версиях stylesheets) - таблицы стилей, используемые на сайте
css/style.css - Основной стилевой файл
css/media.css - стилевой файл, отвечающий за адаптацию
Библиотека fancybox (/fancybox)
Шрифты (/fonts)
Шрифты в формате .otf .eot .svg .ttf .woff .woff2
Изображения (/img)
img/ - изображения, используемые на сайте
img/picture-default.png - картинка, используемая по-умолчанию в каталоге
Скрипты Javascript (/js)
js/ - скрипты, используемые на сайте
js/common.js - общий файл со скриптами
js/order.js - модуль оформления заказа (optional)
js/jquery-2.2.4.min.js - JQuery 2.2.4 (ранее использовалась версия 1.12.4, полная совместимость)
Модуль поддержки языков (/app/lang)
lang/en.php
lang/ru.php
Запись значения через $msg["en"]["news"] = "News";
Вызов через {% lang aboutus %}, в *.php APP::$langValue["news"]
Библиотеки, используемые только на сайте (/lib)
Стандартный список: class_phpmailer.php class_smtp.php img_lib.php smtp_mail.php
Расширения (/extensions)
Капча от Google (/ReCaptcha)
Библиотека, необходимая для работы ReCaptcha
Папка общих шаблонов конкретных страниц (/tpl)
Страницы сайта (/views)
badbrowser.php - содержимое файла отображается при заходе на сайт со старых неподдерживаемых браузеров
Файлы в корневой директории
.htaccess - обработка логики движка, все символические пути прописываются вручную через этот файл
autoload.php - файл для работы ReCaptcha
index.php - основной файл сайта, в основном в нем меняются только обертки для основных блоков в body, а также устанавливается метрика
robots.txt - настройки индексации(версия 1.4)
Файл настроек сайта (settings.php)
settings.php - содержит типовые настройки сайта, такие как подключение к базе данных, и другие.