Multicat плагин мультикатегорий для Cotonti Siena

Что это такое?

Multicat — это плагин, который позволяет одной и той же статье находиться сразу в нескольких категориях на сайте.

Обычно в Cotonti страница может быть только в одной категории (например, «Новости» или «Блог»). С Multicat одна статья может одновременно быть и в «Новости», и в «Акции», и в «Обзоры».

Скачать плагин бесплатно с репозитория на GitHub.

 

 Как это работает?

  • При установке плагин создаёт дополнительную таблицу в базе данных. В ней хранится информация, к каким категориям относится каждая статья.
  • Когда вы редактируете статью, появляется удобный список категорий (мультивыбор). Можно выбрать сразу несколько.
  • На сайте статья автоматически показывается во всех выбранных категориях.

 

Зачем это нужно?

  1. Удобство для посетителей — пользователю не нужно искать статью только в одной рубрике. Он найдёт её в любой подходящей категории.
  2. SEO (поисковая оптимизация) — статья получает больше точек входа для поисковых систем. Это значит, что больше людей смогут найти её через разные разделы сайта. При этом дубликаты URL не создаются: у статьи всегда остаётся один основной адрес, а категории просто выступают как дополнительные «точки входа».
  3. Гибкость — удобно, когда статья подходит под несколько тем. Например, «Обзор телефона» можно разместить в «Новости», «Гаджеты» и «Обзоры».

 

 Как пользоваться?

  1. Установите плагин через админку Cotonti.
  2. При добавлении или редактировании статьи отметьте галочками категории, в которых она должна появиться.
  3. Готово! Теперь материал будет отображаться сразу в нескольких разделах.

 

Преимущества

  • Простая установка и работа.
  • Не ломает старые статьи: если у статьи только одна категория — всё остаётся, как раньше.
  • Подходит для любых проектов — блога, новостника, интернет-магазина.

 

Итог: Multicat делает ваш сайт удобнее для посетителей и полезнее для поисковых систем. Статьи становятся более заметными, а управление ими — гибче.

 

Плагин Multicat для Cotonti Siena. Информация для администратора

 

Описание плагина

Плагин Multicat предназначен для модуля Page в CMF Cotonti Siena. Он позволяет назначать страницы сразу в несколько категорий, расширяя стандартные возможности системы, где страница может принадлежать только одной категории. Это полезно для сайтов с сложной структурой контента, где материалы могут относиться к нескольким темам одновременно.

  • Ключевые особенности:
    • Хранение связей категорий в отдельной таблице cot_page_multicats с использованием structure_id для идентификации категорий.
    • Автоматическая миграция существующих категорий при установке.
    • Интеграция с формами добавления/редактирования страниц через чекбоксы.
    • Отображение множественных категорий в админ-панели и списках страниц.
    • Поддержка фильтрации страниц по категориям в списках, учитывая мультикатегории.

Плагин разработан для Cotonti Siena версии 0.9.26 и выше, с поддержкой PHP 8.4+ и MySQL 8.0+. Он не требует дополнительных библиотек и использует встроенные механизмы Cotonti (хуки, структура, SQL-запросы).

  • Автор: webitproff
  • Дата выпуска: 2025-09-14
  • Версия: 1.1.0
  • Лицензия: BSD
  • Репозиторий: https://github.com/webitproff/cot-multicat
  • Зависимости: Модуль page (требуется), другие модули не обязательны.

Принципы работы

Плагин работает на основе хуков Cotonti, расширяя функциональность модуля Page без изменения кода системы. Основные принципы:

  1. Хранение данных:
    • Используется таблица cot_page_multicats для хранения связей между страницами (pcat_page_id) и категориями (pcat_cat_id), где pcat_cat_id — это structure_id из таблицы cot_structure.
    • Это позволяет избежать дублирования данных и сохранять совместимость со стандартным модулем Page.
    • При установке автоматически мигрируются существующие категории из cot_pages (поле page_cat преобразуется в structure_id).
  2. Обработка категорий:
    • Функции в inc/multicat.functions.php позволяют получать, сохранять и отображать категории.
    • Категории выбираются через чекбоксы в формах добавления/редактирования страниц.
    • Первая выбранная категория устанавливается как основная (page_cat в cot_pages), остальные — в мультикатегориях.
    • В списках страниц (page.list) фильтр по категории учитывает как основную, так и дополнительные категории через подзапросы SQL.
  3. Интеграция с UI:
    • Добавляются теги в шаблоны: {PAGEFORM_CAT} для чекбоксов и {PAGEFORM_CAT_HINT} для подсказки.
    • В админ-панели отображается список категорий для каждой страницы.
    • Языковой файл поддерживает русский язык, с возможностью добавления других.
  4. Безопасность и производительность:
    • Все запросы используют подготовленные параметры для защиты от SQL-инъекций.
    • Фильтрация по категориям оптимизирована с использованием индексов таблицы.
    • Проверка прав доступа (cot_auth) при отображении категорий в формах.

Плагин не влияет на производительность для сайтов с небольшим количеством страниц, но для крупных сайтов рекомендуется индексация таблицы cot_page_multicats.

Интеграция

Плагин интегрируется через стандартные хуки Cotonti. Нет необходимости модифицировать核心 файлы — все изменения происходят через плагинные файлы.

  • Хуки, используемые в плагине:
    • global: Определение таблицы и загрузка языка.
    • page.add.add.done: Сохранение категорий после добавления страницы.
    • page.admin.loop: Отображение категорий в админ-списке.
    • page.delete.first: Удаление связей перед удалением страницы.
    • page.edit.update.import: Импорт и валидация категорий при редактировании.
    • page.edit.tags: Генерация формы чекбоксов в редакторе.
    • page.edit.update.done: Сохранение категорий после обновления.
    • page.list.query: Фильтрация списка страниц по категории.
  • Изменения в шаблонах:
    • В файлы page.edit.tpl и page.add.tpl добавьте {PAGEFORM_CAT} и {PAGEFORM_CAT_HINT} сразу после стандартного поля категории.
    • чтобы в page.admin.tpl в каждой строке (блок PAGE_ROW) выводился список мультикатегорий для текущей страницы, нужно добавить {ADMIN_PAGE_MULTICATS}, например после {ADMIN_PAGE_LOCAL_STATUS}.
  • Совместимость:
  • Работает с модулем Page без конфликтов.
  • Если используются другие плагины на категории (например, для SEO), протестируйте на совместимость.

Инструкции по установке и использованию

Установка

  1. Скачайте плагин:
  • Клонируйте репозиторий: git clone https://github.com/webitproff/cot-multicat.git или скачайте ZIP.
  1. Установка через админ-панель Cotonti:
  • Скопируйте папку multicat в plugins/ вашего сайта.
  • В админ-панели перейдите в "Расширения" > "Установка" и установите плагин multicat.
  • При установке автоматически создастся таблица cot_page_multicats и мигрируются существующие категории.
  1. Настройка:
  • В конфигурации плагина (Админ > Расширения > Multicat > Конфигурация) включите опцию enabled (по умолчанию включена).

Использование

  1. Добавление/редактирование страницы:
  • В форме страницы выберите несколько категорий через чекбоксы.
  • Обязательно выберите хотя бы одну — иначе ошибка.
  • Сохраните: категории сохранятся в БД.
  1. Просмотр:
  • В админ-списке страниц увидите все категории через запятую.
  • В списках страниц (на сайте) фильтр по категории покажет страницы из мультикатегорий.
  1. Удаление:
  • При удалении страницы связи автоматически удаляются.
  1. Обновление/удаление плагина:
  • Перед удалением: Сделайте бэкап БД.
  • Удалите через админ-панель — таблица не удаляется автоматически (удалите вручную, если нужно).

Возможные проблемы и решения

  • Ошибка "необходимо выбрать хотя бы одну категорию": Убедитесь, что выбрана категория в форме.
  • Категории не отображаются: Проверьте права доступа (cot_auth) и наличие structure_id в БД.
  • Конфликты с шаблонами: Убедитесь, что добавлены теги {PAGEFORM_CAT} и {PAGEFORM_CAT_HINT}.
  • Миграция не сработала: Проверьте SQL-запрос в setup/multicat.install.sql и выполните вручную.

 



Rating based on reviews:
Stars received: 5
Total reviews: 1
Average rating: 5
5 minutes read

Reviews to products 1

Я именно мечтала о таком плагине!

У меня сайт с рецептами блюд с кухнями со всех стран и народов мира, которые только смогла собрать я и мои авторские повара. Вы не поверите как меня выручил этот плагин - без дублирования страницы я могу один и тот же рецепт блюда разместить в нескольких сопряженных категориях. Спасибо разработчику. спасибо что бесплатно!

2025-06-07 15:28


Add to Cart

Product has no downloadable file

 

Category Extentions
Navigation and site structure, SEO and optimization
Availability
Free

Content author

webitproff

Offline

webitproff

Last logged: 2026-07-20 14:34

  • Чем могу помочь?

    Оказываю весь спектр услуг по CMF Cotonti. Разработка открытых и закрытых корпоративных интернет порталов, небольших социальных сетей, торговые площадки, маркетплейсы, биржи фриланса, каталоги товаров оптовых поставщиков, интернет-магазин под заказ, чтобы делать совместные покупки и групповые совместные продажи от имени нескольких продавцов.

  • Разработки на GitHub бесплатно
    • 2025-03-04 15:09
    • 2026-01-21 04:21

    Featured Products and Services

    Cotonti CMF: Plugin Installation, Integration, and Adaptation

    Cotonti CMF: Plugin Installation, Integration, and Adaptation

    professional services for the installation, deep integration and adaptation of plug-ins for Cotonti
    Multiple Categories for a Single Product

    Multiple Categories for a Single Product

    The Multicat Market plugin adds the ability to place a single listing/product (Market module page)
    Featured Products in Market

    Featured Products in Market

    It is designed for manual assignment and display of recommended products and services in the Market

    Market PRO Showcase

    CMS, Script and Engine for an online storefront, infoproduct shop and digital goods store. Different prices in different currencies. Online cryptocurrency payments for goods and services.