Сайт справки
  • Авторизация
  • Обратная связь
  • Теги
    • Joomla
      • JLoader
      • Mootools
      • Bootstrap
      • jQuery
      • jQuery UI
      • Конфликты JS
      • Joomla! Javascript Framework
      • JS Фреймворки
      • Ajax
      • JS
      • MVC
      • JoomShopping
      • Сессии
    • JS

Расширенный поиск
  • Главная
  • Joomla
  • Документация разработчикам Joomla 5.0
  • Категории
  • Joomla 5.0

Обзор категорий

Несколько основных компонентов Joomla реализуют категории, позволяющие группировать записи, которые в чем-то похожи. Если вы разрабатываете компонент, вы можете легко включить функциональность категорий в свой компонент.

Вначале полезно рассмотреть, как категории хранятся в базе данных и связаны с ними. На диаграмме ниже в качестве примера приведены категории, связанные с com_contact. Синие прямоугольники относятся к таблицам базы данных, желтые - к классам Joomla. Красные полосы предназначены для обозначения записей в таблице Категорий.

Categories

Таблица категорий Joomla разделена на "разделы", по одному разделу для каждого компонента, который использует категории. (Здесь "разделы" используются в широком смысле, не связанном, например, с техническим термином "раздел базы данных").

Внутри каждого раздела записи категорий хранятся в древовидной структуре, но всегда связаны с одним и тем же компонентом – например, у вас не может быть com_content категория, которая имеет в качестве родительского элемента com_contact Категория. Это обозначено на диаграмме стрелками слева, указывающими назад на тот же раздел. В корне дерева находится единый системный корневой узел, который является родительским для всех записей категорий верхнего уровня компонентов.

Если компонент Joomla поддерживает использование категорий, то в таблице базы данных компонента будет столбец, содержащий идентификатор категории. Таким образом, каждая запись компонента (по крайней мере, каждая запись, связанная с категорией) содержит идентификатор соответствующей записи категории (как внешний ключ). Все атрибуты категории хранятся в записи категории в таблице Категорий.

Это показано на диаграмме на примере com_contact. Ссылка "один ко многим" из раздела таблицы категорий на таблицу Сведений о контактах указывает, что запись категории может быть связана со многими записями контактов.

Существует 2 класса Joomla (показаны желтым цветом), что связаны с категориями и которые предоставляют API для доступа к данным категорий:

  1. Категории – относится к разделу в таблице Categories. Объект Categories, экземпляр которого вы создаете, должен знать, к какому разделу таблицы categories вы хотите получить доступ, поэтому при его создании вам необходимо указать связанный компонент.
  2. CategoryNode – относится к отдельной записи категории. Получив объект Categories, вы можете получить доступ к объектам CategoryNode в этом разделе.

В вашем коде вы можете получить доступ к данным категории для нескольких компонентов, создав несколько экземпляров категорий, по одному для каждого компонента / раздела.


  • Карта сайта

Наверх

© Сайт справки 2025

Яндекс.Метрика