Перейти к содержанию

Введение в Ноды

Ноды (они же nodes или узлы) в Invision Community являются структурной концепцией, используемой для организации элементов контента. Они напоминают дерево с родительскими узлами, содержащими дочерние ноды, которые могут содержать другие дочерние ноды или элементы контента и т.д.

В Invision Community ноды применимы в тех областях, где необходимо отношение родитель/потомок, но наиболее распространенное использование - это иерархия категорий, где ноды представляют собой категории и некие контейнеры для элементов контента. Именно в этом ключе будем упоминать ноды в данном руководстве. Вообще говоря, ноды представляют собой созданные администратором сущности. Интерфейсы для их управления существуют в админцентре.

Примечание: У нод есть возможность иметь под-ноды другого класса. Поскольку это сложно и обычно не требуется для элементов контента, методы и свойства, относящиеся к под-нодам, были опущены в этой документации.

Пример нод

Наиболее очевидным примером структуры нод это категории, форумы и темы в приложении Форумы. В коде, категории и форумы представляют собой одно и то же - ноды, представленные моделью Форум (термин "категория" просто используется в качестве способа разъяснения функциональности). Так, родительский форум может иметь дочерние форумы, которые в свою очередь так же могут иметь дочерние форумы, или содержать в себе темы, которые являются элементами контента. Модели нод в Invision Community обрабатывают структуру форума, а модели контента обрабатывают элементы контента (модели контента обсуждаются в отдельном разделе данной документации разработчика).

| Родительский форум (Модель ноды Форум)
|-- Дочерний форум (Модель ноды Форум)
|---- Темы (Модель элемента контента Темы)
|--- Дочерний форум (Модель ноды Форум)
|--- и т.д.

Состав

Invision Community предоставляет ряд классов, которые помогают реализовать функциональность ноды. Каждая часть будет рассмотрена более подробно в последующих разделах:

Модель - \IPS\Node\Model
Предоставляет данные доступа и методы манипуляции для нод путём расширения класса \IPS\Patterns\ActiveRecord.

Контроллер - \IPS\Node\Controller
Расширяет стандартный контроллер диспетчера для добавления автоматической поддержки интерфейсов для управления элементами нод в админцентре.

Помощники (Helpers)
Наиболее подходящим помощником для нод является \IPS\Helpers\Tree, который создает интерактивный интерфейс дерева (хотя этот помощник не ограничивается только работой с нодами).

 




×
×
  • Создать...

Важная информация

Используя наш сайт вы соглашаетесь с нашей Политикой конфиденциальности