Модуль page - фактическая карта/схема структуры файлов

Структура файлов модуля page в Cotonti и их описание. Какая роль каждого файла модуля и за что он отвечает.

Опубликовано в: Модуль Pages в Cotonti CMF

Назначение модуля 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

Оффлайн

webitproff

Последняя авторизация: 17.07.2025 13:20

  • Страница размещена: 16.05.2025 11:27
  • Последнее обновление: 16.05.2025 12:02

Похожие страницы

Файл "page.admin.home.php" модуль "Page" в Cotonti
1 Описание файла "page.admin.home.php" в Cotonti CMF Файл "page.admin.home.php" является частью
Настройка структуры сайта в Cotonti. Инструкция.
2 Типовое руководство с наглядным примером по созданию структуры категорий на сайте Cotonti. Конфигурация модулей и
Cotonti Siena CMF • 26.04.2024 09:43 webitproff
Настройка структуры сайта фриласн биржи
3 Настройка структуры сайта фриласн биржи Категории проектов Для организации структуры проектов сайта зайдите в