Pages, Articles & News
Tools & Plugins
Example / Placeholder Title


Description as an example placeholder. Sample text content for further customization of the "Index36" template.

You are free to edit and customize the template however you like. If you don’t have time or enough knowledge — you can always order template adaptation by contacting me via GitHub or private messages on the digital goods marketplace.

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

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

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

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

No comments yet
Only registered users can post new comments
Account