NespiCMS розроблена на відомому MVC (Model View Controller) фреймворку
Code Igniter 4.
Файлова структура CMS повністю відповідає структурі фреймворку, тому з детальною документацією щодо структури, Ви можете ознайомитися в документації самого фреймворку
Code Igniter 4.
Файли веб сайту, знаходяться в папці
"/application", в якій розташовані папки з файлами
MVC ("models", "views", "controllers").
Папка
"controllers" - у цій папці лежать файли контролерів CMS.
Папка
"models" - у цій папці лежать моделі для роботи з базою даних.
Папка
"views", містить файли відображення сторінок сайту, а також папки
"functions" і
"moduls". На цій папці ми зупинимося детальніше, оскільки в 90% випадків саме вона є ключовою для
"кастомізації" сайту.
Папка "/application/views".У цій папці лежать файли, які є шаблонами типових сторінок сутностей NespiCMS. Наприклад такі, як: текстові сторінки, сторінки каталогу, сторінка картки товару і т. д.
- "chapter.php" - цей файл є шаблоном сторінок сайту, які управляються в пункті меню адмін панелі "розділи".
- "category.php" - цей файл є шаблоном сторінок сайту, які управляються в пункті меню адмін панель "каталог".
- "item.php" - цей файл є шаблоном карток товару.
- "article.php" - цей файл є шаблоном сторінок стрічки елементів (блог, статті, новини і т. д.).
- "search.php" - цей файл є шаблоном сторінки пошуку.
- "account.php" - цей файл є шаблоном сторінок кабінету користувача.
- "registration.php" - цей файл є шаблоном сторінки реєстрації.
- "brand.php" - цей файл є шаблоном сторінки виробника.
- "cart.php" - цей файл є шаблоном сторінки кошика.
- "payment.php" - цей файл є шаблоном сторінки оформленого замовлення.
Папка "/application/views/functions".У цій папці лежать файли модулів, які вбудовані в систему, і можуть бути застосовані для відображення на будь-якій сторінці сайту через
конструктор розташування модулів.
Дані функції, отримують глобальний об'єкт
$list, в якому містяться всі змінні отримані у відповідному
контролері сторінки.
Папка "/application/views/moduls".У цій папці лежать файли модулів, які створені адміністратором сайту в налаштуваннях сайту, у закладці
"модулі", і можуть бути застосовані для відображення на будь-якій сторінці сайту через
конструктор розташування модулів.
Дані модулі, також отримують глобальний об'єкт
$list, в якому містяться всі змінні отримані у відповідному контролері сторінки. Тобто, за допомогою даного об'єкта, розроблювач або адміністратор може робити висновок даних у створених модулях. Наприклад, у змінній
$list->chapters, знаходиться масив розділів сайту, а у змінній
$list->categorys, масив категорій з каталогу.