Порядок подключения файлов

В корне сайта и папках функциональных модулей (система учета /scif/, интернет-магазин /catalog/, личный кабинет /cabinet/ и т.д.) находится файл index.php, который инклюдит файл /includes/general.php, который в свою очередь инклюдит все остальные скрипты. Файл index.php может содержать также некоторые настройки.
Ниже приводится порядок инклюда файлов скриптом /includes/general.php с кратким описанием функций подключаемых файлов.

Функция или подключаемый скрипт Описание
includes/config.php считываем настройки сайта, начало замера времени выполнения скрипта
wn_settings.php считываем пользовательские настройки, параметры подключения к базе данных
includes/antiddos.php - антиДДОС-защита (в настройках сайта можно установить максимально разрешенную частоту обращений с к сайту с одного IP-адреса, при превышении данной частоты IP-адрес будет блокироваться. Используйте эту настройку для защиты от парсинга и сканирования спам-роботами.
- в этом же скрипте производится проверка, является ли посетитель роботом поисковых систем. Для роботов "белых" поисковых систем устанавливается более высокая разрешенная частота обращений, чтобы не блокировать их обращения.  Вы также далее по данному критерию (константа IS_BOT) ниже исключать вывода некоторых "тяжелых" участков кода для поисковых роботов (или выдавать им данные из кэша) с целью оптимизации быстродействия и нагрузка на сайт
 includes/mysqli.php подключаемся к базе данных. Параметры подключения, а также выбор библиотеки (mysqli или более старая mysql) определяются выше в файле wn_settings.php. Если в каком-либо из скриптом подключение к базе данных не требуется, установите в нем переменную $wn_connect=false
includes/aut.php авторизация посетителя для доступа к функциям, требующих авторизации. Файл можно удалить, если авторизация на сайте не требуется
includes/functions.php общие функции движка
include/WN_PATH_INCLUDES/functions.php пользовательские функции
WN_PATH_INCLUDES.'acts/'.$act.'.php

подключение основного скрипта, формирующего контент страницы. Скрипты размещены в папке /themes/theme_name/includes/acts/ для сайта или /module_name/includes/acts/ для дополнительных разделов.

Шапка и подвал подключаются ниже, после данного скрипта. Если для какой-то функциональной страницы они не нужны, например, это скачивание файла или страница версии для печати с собственной шапкой, в конце скрипта прервите дальнейшее выполнение при помощи функции antiddos_end();

Если для какой-либо страницы нужны персональные скрипты или стили, которые нужно будет подключить в шапке сайта, определите их в скрипте страницы в переменной $meta.

Есть несколько способы вывода содержания страницы:
- HTML-текст - содержание страницы статично и формируется в визуальном редакторе. При этом в тексте можно использовать подстановку значений переменных, например, номера телефона компании.
- PHP-код - для формирования содержания используется введенный вами PHP-код, он хранится в базе данных. Используйте данный способ для генерации динамичных страниц.
- PHP-include - для формирования содержимого страницы подключается указанный вами PHP-файл. Используйте этот способ, если вам удобнее кодировать и хранить код в файлах, нежели в базе данных.
- медиа - используется, если контентом страницы является медиа-файл: видео, изображение или аудио.
Вы также можете добавлять любые собственные способы, определяя их обработку в данном файле.

WN_PATH_INCLUDES.'blocks/head.php шапка страницы
WN_PATH_INCLUDES.'blocks/footer.php подвал страницы


Структура файлов и папок дистрибутива СКИФ

скачать STRUCTURE.md
# Структура дистрибутива СКИФ
```text
+---admin # панель управления CMS
|   |   adminer.php # управление базой данной MySQL
|   |   dump.sql # дамп базы данных
|   +---includes
|       |   aut.php # авторизация в панели управления
|       |   functions.php # функции для панели управления
|       +---acts
|       |       admpasswd.php # смена серверного пароля
|       |       article.php # редактирование материала
|       |       articles.php # список материалов
|       |       articles_select.php
|       |       attach.php
|       |       blocks.php # редактирование блоков сайта
|       |       config.php # редактирование настроек
|       |       editor.php # редактор кода
|       |       frontpage.php # главная страница панели управления
|       |       ip_counter.php # статистика посещений
|       |       phpinfo.php # информация о сервере
|       |       profiling.php # профилирование кода для оптимизации
|       |       promo.php # редактирование промо-блоков (акции, новинки и т.п.)
|       |       search.php # статистика поисковых запросов
|       |       sitemap.php # генерация карты сайта для поисковых систем
|       |       uploads.php # загрузка файлов
|       |       user.php # редактирование пользователя
|       |       users.php # список пользователей
|       +---blocks
|               footer.php
|               head.php
|               topmenu.php # меню панели управления
+---antiddos
+---cabinet
|   +---includes
|       |   aut.php
|       |   functions.php
|       +---acts
|       |       docprint.php # печатная форма документа
|       |       frontpage.php # главная страница личного кабинета
|       |       map.php
|       |       profile.php # редактирование профиля пользователя
|       |       register.php # вход или регистрации нового пользователя
|       |       sendpass.php # восстановление пароля
|       +---blocks
|               footer.php
|               head.php
|               login.php # блок авторизации
+---cache # папка для хранения временных файлов, очищается автоматически из планировщика
+---catalog # интернет-магазин
|   +---default
|   |   |   functions.js # Javascript для каталога
|   |   +---includes
|   |       |   aut.php
|   |       |   functions.php # функции каталога (отправка заказа, вывод товаров и т.п.)
|   |       +---acts
|   |       |       frontpage.php # главная страница интернет-магазина
|   |       |       items.php # страница со списком товаров
|   |       |       map.php # карта сайта
|   |       |       order.php # страница оформления заказа
|   |       |       product.php # страница товара
|   |       |       property.php # страница со свойствами товара (производитель, бренд и др.)
|   |       |       search.php # страница поиска
|   |       +---blocks
|   |               footer.php
|   |               head.php
+---cron # планировщик задач, выполняемых автоматически по расписанию
|       auto_overpay.php # автоматическая обработки переплат по заказам (по умолчанию не активирована)
|       catalog_update.php # пример обновления данных в каталоге (по умолчанию не используется)
|       hourly.php # служебные задачи, чистка кэша, удаление старых сессий, задач и т.п.
|       reminders.php # пример рассылки напоминаний
|       sitemap.php # генерация карты сайта для поисковых систем
|       sync.php # пример синхронизации данных с внешними системами (по умолчанию не используется)
+---files # папка для хранения загруженных пользователями файлов
+---img # папка для хранения изображений
|   +---article
|   +---scif1 # превью изображений (для списков)
|   |   +---spr_noms # изображения товаров
|   |   +---spr_noms_gr # изображения групп товаров
|   |   +---spr_values # изображения свойств товаров
|   +---scif1_orig # большие изображения (для карточек)
|   |   +---spr_noms 
|   |   +---spr_noms_gr
|   |   +---spr_values
+---includes # подключаемые функции и классы
|       antiddos.php # защита от DDoS-атак
|       config.php # конфигурационный файл, настройки движка
|       cron_start.php # запуск планировщика задач
|       functions.php # общие функции
|       general.php # функции для фронтенда
|       mysql.php # класс для работы с базой данных MySQL (устаревший)
|       mysqli.php # класс для работы с базой данных MySQLi
+---js # папка для хранения JavaScript-файлов
|   |   cover.js # для вывода всплывающего изображения товара в учете
|   |   dtree.js # плагин для создания древовидного меню в справочниках
|   |   jquery-barcode.min.js # плагин для генерации штрих-кодов
|   |   jquery-ui-timepicker-addon.js # плагин для выбора времени в календаре
|   |   jquery-ui.min.js # библиотека jQuery UI
|   |   jquery.cookie.js # плагин для работы с cookies
|   |   jquery.min.js # библиотека jQuery
|   |   jquery.qrcode.min.js # плагин для генерации QR-кодов
|   |   jquery.ui.datepicker-ru.js # календарь
|   |   tablesorter.min.js # плагин для сортировки таблиц
|   |
|   +---css
|       +---redmond
|           |   jquery-ui.css # стили для jQuery UI
+---kassa # платежные модули (интернет-эквайринг)
|       proccessing.php # обработка платежей (вносим оплату в систему)
|       qr.php # генерация QR-кода для оплаты
|       result.php # прием уведомлений от платежных систем о статусе платежа
|       tbank.php # модуль для приема платежей от ТБанка (другие модули назваются также по имени платежной системы)
+---libs # сторонние библиотеки
|   +---fusioncharts # графики и диаграммы для отчетов
|   +---PHPExcel # работа с Excel-файлами
|   +---PHPMailer # отправка писем по электронной почте
|   +---phpqrcode # генерация QR-кодов
|   +---PHPWord # работа с Word-файлами
+---scif # система складского учета
|   +---includes
|   |   +---acts # обработки
|   |   +---blocks # блоки (шапка, подвал, меню)
|   |   +---parts # части страниц (когда блоки используются разными страницами)
|   |   +---printforms # печатные формы
|   |   +---reports # отчеты
+---sessions # папка для хранения сессий пользователей интернет-магазина, очищается автоматически из планировщика
+---themes # темы оформления для сайта
|   +---default 
|   |   +---css
|   |   |       bootstrap.css
|   |   |       bootstrap.min.css
|   |   |       magnific-popup.css
|   |   |       style.css # стили для темы оформления
|   |   +---img
|   |   +---includes
|   |   |   |   aut.php # авторизация на сайте
|   |   |   |   functions.php # функции для сайта (вывод материалов и т.п.)
|   |   |   +---acts
|   |   |   |       frontpage.php # главная страница сайта
|   |   |   |       map.php # карта сайта
|   |   |   |       search.php # страница поиска по сайту
|   |   |   +---blocks
|   |   |           footer.php # подвал сайта
|   |   |           head.php # шапка сайта
+---tiny_mce # визуальный HTML-редактор для описаний
+---www_data # папка для хранения данных
```
Не нашли ответа на свой вопрос? Спросите у нас по email biz@webnice.biz или в мессенджере
ОГРН: 310631815900012 Политика конфиденциальности
Мы тоже используем Cookie. Политика