> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arzguard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Разделы форума

> Поля, типы и условия видимости объектов: Node, Forum, SearchForum, LinkForum, Page.

Схемы объектов, возвращаемых методами Guard Forum. Таблицы описывают возможные поля: состав конкретного ответа зависит от прав, контекста, детализации и запрошенных связанных объектов. Отсутствующее поле не следует подменять нулём или пустой строкой.

Имена полей и регистр сохраняются: например, `User` и `user_id` — разные поля. Обозначения типов и пагинация описаны в [обзоре схем](/guard-forum/models.md).

`Node` — общий объект раздела. Поля `Forum`, `LinkForum` или `Page` находятся внутри `Node.type_data`, а не заменяют его корневые поля. Для категории данные могут быть пустым объектом. Состав `type_data` также расширяется обработчиком конкретного типа форума.

## Node

| Поле | Тип | Условия | Описание |
| - | - | - | - |
| `breadcrumbs` | `array` | По контексту объекта | Цепочка родителей: node\_id, title и node\_type\_id каждого элемента |
| `type_data` | `object` | По контексту объекта | Данные конкретного типа раздела; состав зависит от node\_type\_id |
| `view_url` | `string` | По контексту объекта | URL объекта на форуме |
| `node_id` | `integer` | По контексту объекта | ID раздела |
| `title` | `string` | По контексту объекта | Название или заголовок |
| `node_name` | `string` | По контексту объекта | Символьное имя раздела |
| `description` | `string` | По контексту объекта | Описание |
| `node_type_id` | `string` | По контексту объекта | Тип узла: форум, категория, страница или ссылка |
| `parent_node_id` | `integer` | По контексту объекта | ID родительского узла; 0 для корневого |
| `display_order` | `integer` | По контексту объекта | Порядок отображения |
| `display_in_list` | `boolean` | По контексту объекта | Показывается ли узел в списке |

## Forum

Схема `Node.type_data` для форума. Статистика и сведения о последней теме доступны при соответствующем праве просмотра; `prefixes` и определения `custom_fields` включаются при расширенной детализации. Обработчик типа форума может добавить собственную конфигурацию.

| Поле | Тип | Условия | Описание |
| - | - | - | - |
| `forum_type_id` | `string` | По контексту объекта | Тип форума, определяющий его возможности |
| `allow_posting` | `boolean` | По контексту объекта | Разрешена ли публикация в разделе |
| `require_prefix` | `boolean` | По контексту объекта | Требуется ли префикс темы |
| `min_tags` | `integer` | По контексту объекта | Минимальное число тегов |
| `discussion_count` | `integer` | По правам | Число тем в разделе |
| `message_count` | `integer` | По правам | Число сообщений |
| `last_post_id` | `integer` | По правам | ID последнего сообщения |
| `last_post_date` | `integer` | По правам | Дата последнего сообщения, Unix timestamp в секундах |
| `last_post_username` | `string` | По правам | Имя автора последнего сообщения |
| `last_thread_id` | `integer` | По правам | ID темы последнего сообщения |
| `last_thread_title` | `string` | По правам | Заголовок темы последнего сообщения |
| `last_thread_prefix_id` | `integer` | По правам | ID префикса последней темы |
| `is_unread` | `boolean` | По правам | Есть ли непрочитанное для текущего пользователя |
| `prefixes` | `ThreadPrefix[]` | Подробный ответ | Доступные определения префиксов |
| `custom_fields` | `ThreadField[]` | Подробный ответ | Значения дополнительных полей; для конфигурации раздела — определения полей |
| `can_create_thread` | `boolean` | По контексту объекта | Может ли пользователь создать тему |
| `can_upload_attachment` | `boolean` | По контексту объекта | Может ли текущий пользователь загрузить вложение |

## SearchForum

Схема `Node.type_data` для поискового раздела. Сведения о последней теме включаются только при наличии последнего сообщения и права видеть связанную тему. В остальном используется оболочка Node.

| Поле | Тип | Условия | Описание |
| - | - | - | - |
| `discussion_count` | `integer` | По контексту объекта | Число тем в разделе |
| `message_count` | `integer` | По контексту объекта | Число сообщений |
| `last_post_id` | `integer` | По правам | ID последнего сообщения |
| `last_post_date` | `integer` | По правам | Дата последнего сообщения, Unix timestamp в секундах |
| `last_post_username` | `string` | По правам | Имя автора последнего сообщения |
| `last_thread_id` | `integer` | По правам | ID темы последнего сообщения |
| `last_thread_title` | `string` | По правам | Заголовок темы последнего сообщения |
| `last_thread_prefix_id` | `integer` | По правам | ID префикса последней темы |

## LinkForum

| Поле | Тип | Условия | Описание |
| - | - | - | - |
| `link_url` | `string` | По контексту объекта | Адрес раздела-ссылки |
| `redirect_count` | `integer` | По контексту объекта | Число переходов по разделу-ссылке |

## Page

| Поле | Тип | Условия | Описание |
| - | - | - | - |
| `publish_date` | `integer` | По контексту объекта | Дата публикации, Unix timestamp в секундах |
| `view_count` | `integer` | По контексту объекта | Число просмотров |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.