Текущая версия: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
| (не показано 16 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
== Описание == | == Описание == | ||
Стабильная версия CMS 1.6+ | |||
[[Мультикаталог | '''Для работы CMS необходимо и достаточно склонировать репозиторий, скачать дамп БД и прописать настройки к ней в файле settings.php''' | ||
Большинство функционала доступно с версии 1.4. | |||
[[Мультикаталог]] | |||
[[Примеры запросов]] | |||
[[Отложенные события]] | |||
[[Пользователи и права доступа]] | |||
== Типовые вопросы == | == Типовые вопросы == | ||
| Строка 17: | Строка 27: | ||
'''Чтобы получить список дочерних страниц:''' | '''Чтобы получить список дочерних страниц:''' | ||
$Page = APP:: | $Page = APP::getPage(); | ||
$albums = PAGECONSTRUCTOR::getPageChildren($Page->itemKey, $Page->group); | $albums = PAGECONSTRUCTOR::getPageChildren($Page->itemKey, $Page->group); | ||
'''Установить страницу админки по-умолчанию:''' | |||
Добавить в настройки опцию admin_homepage | |||
== Типичные ошибки == | == Типичные ошибки == | ||
Ошибка 404 после обновления - некорректно заполнена переменная $_CARD_TEMPLATES в | Корневая директория для блоков - /views/ | ||
TPL of the page not found - не найден шаблон в папке tpl/ | |||
Ошибка 404 после обновления - некорректно заполнена переменная $_CARD_TEMPLATES в define.php | |||
Может принимать значения вида array('catalog' => 'catalog', 'project' => 'testcatalog'); а также допустимо значение в виде пустого массива array(); | Может принимать значения вида array('catalog' => 'catalog', 'project' => 'testcatalog'); а также допустимо значение в виде пустого массива array(); | ||
| Строка 30: | Строка 47: | ||
== Общая структура системы == | == Общая структура системы == | ||
Системные файлы хранятся в app/ | Системные файлы хранятся в app/ | ||
Для кастомизации программных модулей используется local/ | Для кастомизации программных модулей используется local/ | ||
Для общих шаблонов используется tpl/ | |||
Для программной части используется views/ | |||
admin/'''home.php''' - главная страница | ==Пример подключения файла с входными данными json: == | ||
<code>$json = file_get_contents('php://input');</code> | |||
<code>$data = json_decode($json, true);</code> | |||
<code>require_once $_SERVER['DOCUMENT_ROOT'] . "/app/prolog_before.php";</code> | |||
<code>// using cms methods:</code> | |||
<code>require_once $_SERVER['DOCUMENT_ROOT'] . "/app/epilog_after.php";</code> | |||
== Структура панели администрирования (/app/admin/ - старая) == | |||
'''admin/''' - панель администрирования, на сайте доступ через adm/ (можно задать любой другой через указание константы define('ADMIN_PREFIX', 'adm'); в /define.php) | |||
admin/'''admin.php''' - основной файл административной панели | |||
admin/'''home.php''' - главная страница административной панели (если не предполагается - в начале файла добавить редирект) | |||
admin/'''blocks/''' - общая верстка панели администрирования | admin/'''blocks/''' - общая верстка панели администрирования | ||
| Строка 58: | Строка 91: | ||
'''admin/js/tinymce/plugins/jbimages/config.php''' - файл настроек плагина загрузки изображений, переменная $config['img_path'] = '/content/upload'; | '''admin/js/tinymce/plugins/jbimages/config.php''' - файл настроек плагина загрузки изображений, переменная $config['img_path'] = '/content/upload'; | ||
admin/''' | admin/'''css/''' - таблицы стилей для админки | ||
admin/ | admin/css/'''main.css''' - основные стили админки | ||
admin/ | admin/css/'''jstree.min.css''' - древо страниц | ||
admin/'''views/''' - страницы админки | admin/'''views/''' - страницы админки | ||
== Структура ядра (/app/) == | |||
== Структура ядра == | |||
classes/''' - ядро движка и системные классы | classes/''' - ядро движка и системные классы | ||
| Строка 88: | Строка 117: | ||
classes/Pattern''' - объект страницы | classes/Pattern''' - объект страницы | ||
lib''' - [[Сторонние библиотеки | lib''' - [[Сторонние библиотеки]] | ||
modules''' - [[Модули | modules''' - [[Модули]] | ||
== Типовые подключаемые блоки (/blocks) == | == Типовые подключаемые блоки (/blocks) == | ||
| Строка 119: | Строка 148: | ||
Содержимое папки следует добавлять в .gitgnore | Содержимое папки следует добавлять в .gitgnore | ||
content/''' | content/'''uploads''' - пользовательские файлы, в т.ч. изображения | ||
content/'''pages''' - пользовательские файлы, загруженные в | content/'''pages''' - пользовательские файлы, загруженные в административной панели через tinymce | ||
content/'''popups/''' - содержит json-файлы с настройками форм | content/'''popups/''' - содержит json-файлы с настройками форм | ||
content/''' | content/'''catalog/''' - изображения каталога | ||
content/''' | content/'''catalog/catalog/6301fe43f126aa0358bec5e25efd531d/''' - изображения для товара из каталога catalog с артикулом 001 | ||
content/'''slides/''' - изображения для слайдеров | content/'''slides/''' - изображения для слайдеров | ||
| Строка 134: | Строка 163: | ||
'''css/''' (на некоторых версиях stylesheets) - таблицы стилей, используемые на сайте | '''css/''' (на некоторых версиях stylesheets) - таблицы стилей, используемые на сайте | ||
css/''' | css/'''main.css''' - Основной стилевой файл | ||
css/'''media.css''' - стилевой файл, отвечающий за адаптацию | css/'''media.css''' - стилевой файл, отвечающий за адаптацию | ||
| Строка 154: | Строка 181: | ||
js/'''common.js''' - общий файл со скриптами | js/'''common.js''' - общий файл со скриптами | ||
js/'''jquery-2.2.4.min.js''' - JQuery 2.2.4 (ранее использовалась версия 1.12.4, полная совместимость) | js/'''jquery-2.2.4.min.js''' - JQuery 2.2.4 (ранее использовалась версия 1.12.4, полная совместимость) | ||
== Модуль поддержки языков (/app/lang) == | == Модуль поддержки языков (/app/lang и /local/lang) == | ||
lang/'''en.php''' | lang/'''en.php''' | ||
| Строка 167: | Строка 192: | ||
Запись значения через '''$msg["en"]["news"] = "News";''' | Запись значения через '''$msg["en"]["news"] = "News";''' | ||
Вызов через '''{% lang aboutus %}''', в *.php '''APP:: | Вызов через '''{% lang aboutus %}''', в *.php '''APP::ParseLangValue("news")''' | ||
== | == Расширения (/app/extensions и /local/extensions) == | ||
[[Расширения]] | |||
== Папка общих шаблонов конкретных страниц (/tpl) == | |||
[[Шаблоны TPL]] | |||
== Страницы сайта (/views) == | == Страницы сайта (/views) == | ||
[[Views | [[Views]] | ||
== Файлы в корневой директории == | == Файлы в корневой директории == | ||
'''.htaccess''' - обработка логики движка, все символические пути прописываются вручную через этот файл | '''.htaccess''' - обработка логики движка, все символические пути прописываются вручную через этот файл | ||
'''index.php''' - основной файл сайта, в основном в нем меняются только обертки для основных блоков в body, а также устанавливается метрика | '''index.php''' - основной файл сайта, в основном в нем меняются только обертки для основных блоков в body, а также устанавливается метрика | ||
== Файл настроек сайта (settings.php) == | == Файл настроек сайта (settings.php) == | ||
'''settings.php''' - содержит типовые настройки сайта, такие как подключение к базе данных, и другие. | '''settings.php''' - содержит типовые настройки сайта, такие как подключение к базе данных, и другие. | ||
Текущая версия от 11:27, 2 октября 2025
Описание
Стабильная версия CMS 1.6+
Для работы CMS необходимо и достаточно склонировать репозиторий, скачать дамп БД и прописать настройки к ней в файле settings.php
Большинство функционала доступно с версии 1.4.
Типовые вопросы
Всплывающие окна
Для создания всплывающего окна необходимо прописать путь в js /direct/test
Код всплывающего окна положить в /views/direct/test.api.php
Где test - название вашего всплывающего окна
Чтобы получить список дочерних страниц:
$Page = APP::getPage();
$albums = PAGECONSTRUCTOR::getPageChildren($Page->itemKey, $Page->group);
Установить страницу админки по-умолчанию:
Добавить в настройки опцию admin_homepage
Типичные ошибки
Корневая директория для блоков - /views/
TPL of the page not found - не найден шаблон в папке tpl/
Ошибка 404 после обновления - некорректно заполнена переменная $_CARD_TEMPLATES в define.php
Может принимать значения вида array('catalog' => 'catalog', 'project' => 'testcatalog'); а также допустимо значение в виде пустого массива array();
Общая структура системы
Системные файлы хранятся в app/
Для кастомизации программных модулей используется local/
Для общих шаблонов используется tpl/
Для программной части используется views/
Пример подключения файла с входными данными json:
$json = file_get_contents('php://input');
$data = json_decode($json, true);
require_once $_SERVER['DOCUMENT_ROOT'] . "/app/prolog_before.php";
// using cms methods:
require_once $_SERVER['DOCUMENT_ROOT'] . "/app/epilog_after.php";
Структура панели администрирования (/app/admin/ - старая)
admin/ - панель администрирования, на сайте доступ через adm/ (можно задать любой другой через указание константы define('ADMIN_PREFIX', 'adm'); в /define.php)
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/css/ - таблицы стилей для админки
admin/css/main.css - основные стили админки
admin/css/jstree.min.css - древо страниц
admin/views/ - страницы админки
Структура ядра (/app/)
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 - Сторонние библиотеки
modules - Модули
Типовые подключаемые блоки (/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/uploads - пользовательские файлы, в т.ч. изображения
content/pages - пользовательские файлы, загруженные в административной панели через tinymce
content/popups/ - содержит json-файлы с настройками форм
content/catalog/ - изображения каталога
content/catalog/catalog/6301fe43f126aa0358bec5e25efd531d/ - изображения для товара из каталога catalog с артикулом 001
content/slides/ - изображения для слайдеров
Таблицы стилей (/css)
css/ (на некоторых версиях stylesheets) - таблицы стилей, используемые на сайте
css/main.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/jquery-2.2.4.min.js - JQuery 2.2.4 (ранее использовалась версия 1.12.4, полная совместимость)
Модуль поддержки языков (/app/lang и /local/lang)
lang/en.php
lang/ru.php
Запись значения через $msg["en"]["news"] = "News";
Вызов через {% lang aboutus %}, в *.php APP::ParseLangValue("news")
Расширения (/app/extensions и /local/extensions)
Папка общих шаблонов конкретных страниц (/tpl)
Страницы сайта (/views)
Файлы в корневой директории
.htaccess - обработка логики движка, все символические пути прописываются вручную через этот файл
index.php - основной файл сайта, в основном в нем меняются только обертки для основных блоков в body, а также устанавливается метрика
Файл настроек сайта (settings.php)
settings.php - содержит типовые настройки сайта, такие как подключение к базе данных, и другие.