Модуль page - фактическая карта/схема структуры файлов
Структура файлов модуля page в Cotonti и их описание. Какая роль каждого файла модуля и за что он отвечает.
Назначение модуля page
Модуль page в Cotonti — это основной контентный модуль, отвечающий за публикацию, отображение, редактирование, организацию и управление статичными страницами сайта (новости, статьи, блоги и т.п.).
Он поддерживает:
Добавление и редактирование страниц пользователями и администраторами
Категоризацию (структура)
Валидаторы, черновики и премодерацию
Отображение контента по шаблонам
Расширяемость (экстрафилды, хуки, API)
📂 inc/
— Логика и обработчики
Файл | Назначение |
---|---|
page.add.php |
Обработка формы добавления новой страницы пользователем. |
page.edit.php |
Обработка формы редактирования существующей страницы. |
page.list.php |
Вывод списка страниц по категории (в том числе пагинация, фильтрация и пр.). |
page.main.php |
Просмотр одной страницы (page.php?c=cat&al=alias ). |
page.counter.php |
Увеличивает счетчик просмотров страницы. Может быть вызываем через AJAX. |
page.resources.php |
Подключение JS/CSS и других ресурсов (напр. для rich text редакторов). |
page.functions.php |
Общие функции для работы модуля: генерация URL, проверка прав, выборка данных и пр. |
PageControlService.php |
Класс сервисов управления страницами (CRUD через OOP). |
PageDictionary.php |
Объектный словарь (используется для абстракции доступа к полям страниц). |
PageRepository.php |
Репозиторий страниц: выборка, фильтрация и прочая логика доступа к данным. |
📂 lang/
— Языковые файлы
Файл | Назначение |
---|---|
page.en.lang.php |
Перевод на английский. |
page.ru.lang.php |
Перевод на русский. |
📂 setup/
— SQL-инсталляция
Файл | Назначение |
---|---|
page.install.sql |
SQL-скрипт установки таблиц модуля page . |
page.uninstall.sql |
SQL-скрипт удаления таблиц модуля. |
📂 tpl/
— Шаблоны вывода
Файл | Назначение |
---|---|
page.add.tpl |
Форма добавления страницы. |
page.edit.tpl |
Форма редактирования страницы. |
page.tpl |
Отображение одной страницы (front-end). |
page.list.tpl |
Шаблон вывода списка страниц (категория). |
page.enum.tpl |
Шаблон для вывода перечислений (select и т.п.). |
page.admin.tpl |
Админка модуля: управление страницами. |
page.admin.home.tpl |
Главная страница админки. |
page.list.unvalidated.tpl |
Отдельный шаблон для страниц на премодерации. |
📄 Основные файлы
Файл | Назначение |
---|---|
page.php |
Главная точка входа в модуль (index.php?e=page ). Маршрутизирует запросы. |
page.setup.php |
Установка модуля через админку. |
page.structure.php |
Управление структурой категорий страниц (в админке). |
page.admin.php |
Обработка запросов администратора (модерация, премодерация, удаление). |
page.admin.home.php |
Главное админ-окно управления модулем страниц. |
page.extrafields.php |
Расширенные поля (extra fields) для страниц. |
page.header.php |
Подключается в шаблонах страниц (заголовки, мета-данные). |
page.item.getItems.php |
Получение набора страниц по различным фильтрам (например, для API или компонентов). |
page.trashcan.php |
Управление удаленными страницами (мусорка). |
page.extension.getPublicUrl.php |
Возвращает публичный URL страницы для API и расширений. |
фактическая карта/схема структуры модуля "page" из репозитория https://github.com/Cotonti/Cotonti/tree/master/modules/page
modules/page/
├── inc/
│ ├── page.add.php
│ ├── page.counter.php
│ ├── page.edit.php
│ ├── page.functions.php
│ ├── page.list.php
│ ├── page.main.php
│ ├── page.resources.php
│ ├── PageControlService.php
│ ├── PageDictionary.php
│ ├── PageRepository.php
├── lang/
│ ├── page.en.lang.php
│ ├── page.ru.lang.php
├── setup/
│ ├── page.install.sql
│ ├── page.uninstall.sql
├── tpl/
│ ├── page.add.tpl
│ ├── page.admin.home.tpl
│ ├── page.admin.tpl
│ ├── page.edit.tpl
│ ├── page.enum.tpl
│ ├── page.list.tpl
│ ├── page.list.unvalidated.tpl
│ ├── page.tpl
├── page.admin.home.php
├── page.admin.php
├── page.extension.getPublicUrl.php
├── page.extrafields.php
├── page.header.php
├── page.item.getItems.php
├── page.php
├── page.setup.php
├── page.structure.php
├── page.trashcan.php
Объяснение ключевых элементов:
Элемент - Роль
page.php - Главная точка входа, распределяет маршруты
page.main.php - Вывод одной страницы
page.list.php - Отображение списка страниц по категории
page.add.php / edit.php - Добавление и редактирование страниц пользователями
page.admin.php - Админ-панель управления страницами
PageRepository - Абстракция доступа к данным, выборки, фильтрации
PageDictionary - Управление полями (включая extrafields)
PageControlService - Бизнес-логика: создание, обновление, валидация
page.functions.php - Утилиты, URL-генерация, проверки прав
page.counter.php - Увеличение счетчика просмотров страницы
Как всё работает вместе?
Пользователь открывает страницу → page.php вызывает page.main.php → тот использует PageRepository для выборки данных и PageDictionary для шаблонов.
Админ редактирует страницу → page.edit.php + PageControlService → изменения через PageRepository.
Любой файл, связанный с шаблонами, может вызывать page.functions.php (например, cot_generate_url() или cot_page_read()).
При публикации новых страниц используется page.add.php, а логика сохранения данных идёт через PageControlService.
Комментарии (0)
Автор контента

Оффлайн
webitproff
Последняя авторизация: 17.07.2025 13:20
- Страница размещена: 16.05.2025 11:27
- Последнее обновление: 16.05.2025 12:02