Menu by Parent Category for CMF Cotonti Siena v.0.9.26, PHP v.8.4+, MySQL v.8.0
Это плагин для создания списков пунктов меню в разделе вашей онлайн-документации или базе знаний, информационного или программного продукта, который разрабатываете, поддерживаете или продаете.
Он работает с выбранной родительской категорией и всеми ее дочерними категориями, включая опубликованные в них статьи. Меню по родительским категориям для CMF Cotonti Siena версии 0.9.26, PHP версии 8.4+, MySQL версии 8.0
Menu by Parent Category (cot-menubyparentcat)
Плагин для CMF Cotonti Siena 0.9.26+
Версия: 2.2.8
Лицензия: BSD
Автор:webitproff
GitHub: https://github.com/webitproff/cot-menubyparentcat
Назначение и решаемые задачи (подробно)
cot-menubyparentcat — плагин для ручного конструирования меню на основе выбранной родительской категории модуля Page.
Плагин cot-menubyparentcat создан специально для одной целью — дать разработчикам тем, модулей, плагинов и владельцам сайтов на Cotonti Siena полноценный, удобный и красивый инструмент для создания онлайн-документации, руководства пользователя, базы знаний или внутренней вики по своему продукту.
Это именно тот случай, когда стандартные автогенерируемые меню Cotonti (по структуре категорий или по тегам) не подходят:
- они не дают контроля над порядком пунктов
- нельзя скрыть черновики или технические страницы
- невозможно переименовать разделы под короткие и понятные названия в меню
- нет возможности вынести важные страницы («Введение», «Установка», «ЧаВо») наверх списка
cot-menubyparentcat решает все эти проблемы разом.
Основные сценарии применения (реальные кейсы):
- Документация к теме оформления
Пример: вы выпустили премиум-тему под Cotonti.
Вам нужно сделать раздел «Документация» с чёткой структурой:
Введение → Установка → Настройка → Компоненты → ЧаВо → Обновления
С помощью этого плагина вы создаёте корневую категориюtheme-docs, добавляете туда нужные разделы и страницы в требуемом порядке — и получаете идеальное меню, как у https://adminlte.io/themes/v4/docs/ - Руководство пользователя для плагина или модуля
Вы разработали сложный плагин (например, магазин, биржу фриланса, CRM).
Покупателям нужна подробная инструкция.
cot-menubyparentcat позволяет сделать меню вида:
Обзор → Регистрация → Создание проекта → Оплата → Споры → API
При этом скрыть страницы, которые ещё в разработке. - База знаний сервиса / SaaS-продукта
У вас интернет-сервис на Cotonti.
Нужно отдельное меню «Помощь» с разделами:
Задания → Услуги → Кошелёк → Безопасность → Правила
В каждом разделе — десятки статей, но в меню вы показываете только основные, а остальные скрываете до завершения. - Техническая документация фреймворка/библиотеки
Вы портировали Bootstrap, Tailwind или другой UI-кит под Cotonti.
Делаете документацию по аналогии с официальной:
https://getbootstrap.com/docs/5.3/getting-started/introduction/
Плагин позволяет в точности повторить такую структуру и внешний вид меню.
Что даёт плагин именно для документации:
| Возможность | Почему критично для документации |
| Ручной порядок пунктов | Разделы идут строго по логике обучения: от простого к сложному |
| Скрытие страниц без удаления | Можно писать черновики, не показывая их пользователям |
| Переопределение заголовков | Длинное название страницы → короткое и понятное в меню |
| Разделители (заголовки категорий) | Чёткое визуальное разделение крупных блоков материала |
| Прямые ссылки вне категорий | Важные страницы «Введение», «Быстрый старт» всегда сверху |
| Авто‑подсветка активного пункта | Пользователь всегда видит, где он находится |
| Аккордеон с количеством статей | Современный UX, как в официальных документациях |
Реальный пример структуры меню документации:
Руководство пользователя
├── Введение
├── Быстрый старт
├── Регистрация и профиль
├── Задания и проекты
│ ├── Создание задания
│ ├── Выбор исполнителя
│ ├── Этапы выполнения
│ └── Споры и арбитраж
├── Услуги
│ ├── Создание услуги
│ ├── Пакеты и допы
│ └── Отзывы
├── Платежи и кошелёк
│ ├── Пополнение
│ ├── Вывод средств
│ └── История операций
├── Безопасность
└── Часто задаваемые вопросы
Все пункты выше — это либо категории-разделители, либо вручную добавленные страницы.
Порядок, видимость и названия — полностью под вашим контролем.
Исходя из этого и как следствие ключевое назначение:
Это специализированный инструмент для создания профессиональной онлайн-документации программного или любого другого продукта Используя Cotonti + menubyparentcat легко создать онлайн-документацию для своих разработок или товаров, организовать меню документации так, чтобы пользователь быстро и без путаницы нашёл нужную инструкцию.
menubyparentcat — это не просто «ещё одно меню», например мой плагин Tree Cats Page Plugin for Cotonti Siena 0.9.26 - menubyparentcat - это эволюция и уже неотъемлимый компонет любого информационного продукта. Без хорошо организованной документации и авторской поддержки пользователей вашей разработки(*), например, при помощи модуля "форумов" на Cotonti CMF - человеку будет сложно ознакомиться и освоить ваш продукт, не важно платный он или нет. * - (плагин, модуль, шаблон, скрипт, программа и т.д.)
Вот несколько примеров того, что можно сделать, в части организации собственной онлайн-документации:
- Документация по GitHub
- Руководство пользователя UMI.CMS
- DataLife Engine Documentation
- OpenCart Documentation
- Модуль «Автоматическая обработка прайс-листов»
- UIkit v3 - lightweight and modular front-end framework
- AdminLTE 4 (Admin Dashboard Template/theme and Documentation)
- Sneat Dashboard Tamplate Documentation
Он, menubyparentcat позволяет:
- вручную управлять структурой меню
- сортировать категории и страницы в любом порядке
- скрывать отдельные элементы без удаления
- переопределять заголовки
- добавлять страницы вне структуры категорий
- использовать категории как заголовки-разделители
Идеально подходит для создания:
- разделов помощи
- пользовательских руководств
- сложных FAQ
- групп меню с вручную созданной структурой
Совместимость и требования
- Cotonti: Siena 0.9.26+
- PHP: 8.1+ (рекомендуется 8.4)
- MySQL: 8.0+
- Модуль Page: обязателен
Плагин не конфликтует с другими меню и не переопределяет стандартные функции Cotonti.
Установка
- Скачать архив: https://github.com/webitproff/cot-menubyparentcat
- Распаковать в
plugins/ - В админке перейти: Плагины → Установка → menubyparentcat → Установить
После установки сразу
Управление сайтом -> Расширения -> Меню по родительской категории -> Конфигурацияустановить код родительской категории для управления ее содержимым, например
user-guide
Настройка
В админке нужно указать:
Код родительской категории (смотрите скриншоты)Например:
user-guidehelpdocs
Этот код берётся из структуры модуля Страницы → Код.
После сохранения можно добавлять элементы меню.
Админка: управление пунктами меню
Каждый элемент имеет параметры:
Тип
- Категория (cat) — раздел меню + автоматическая загрузка страниц внутри неё
- Страница (page) — прямая ссылка на статью
Поля:
- Код категории / ID страницы — список зависит от выбранного типа
- Порядок сортировки — целое число, чем меньше, тем выше в меню
- Переопределённый заголовок — если нужен свой текст
- Включать в меню — можно скрыть элемент
Возможности админки
- редактирование элемента
- удаление
- смена порядка числовыми значениями
- отсутствие дублей — страница не будет показана дважды
Вывод меню на сайте
В любой шаблон сайта (например, sidebar.tpl):
Если код категории задан в настройках плагина (рекомендуемое):
<!-- IF {PHP|cot_module_active('page')} AND {PHP|cot_plugin_active('menubyparentcat')} -->
{PHP|cot_menubyparentcat_build_tree()}
<!-- ENDIF -->Пример второй:
<!-- IF {PHP|cot_module_active('page')} AND {PHP|cot_plugin_active('menubyparentcat')} -->
<div class="sidebar-menu">
<h5>Помощь</h5>
{PHP|cot_menubyparentcat_build_tree('user-guide')}
</div>
<!-- ENDIF -->Шаблон вывода дерева категорий и статей
Плагин использует файл:menubyparentcat.tree.tpl (исходный код)
В шаблоне реализованы:
- Bootstrap 5 структура меню
- раскрывающиеся подменю
- поддержка alias (ЧПУ)
- активные пункты
- вывод категорий с подстраницами
- вывод прямых страниц
Особенности и преимущества
- полный ручной контроль структуры меню
- переопределяемые заголовки
- поддержка скрытых элементов
- прямые ссылки на конкретные статьи
- автоматическая подгрузка всех страниц категории
- защита от повторов
- корректное формирование URL
- высокая производительность (индексированные запросы)
Разработка и поддержка
- Репозиторий: https://github.com/webitproff/cot-menubyparentcat
- Issues: используйте для багов и запросов фич
- Pull Requests: приветствуются
- Плагин распространяется бесплатно по лицензии BSD
Если плагин оказался полезным — поставьте ⭐ на GitHub!
Авторские права
© webitproff, 27 Nov 2025, License BSD.
Вы можете нанять меня или предложить задание
напишите в личные сообщения на этой странице