Документация для разработчиков
Темная тема

Добавление элементов инфоблока (комплексный компонент)


Описание iblock.element.add

Комплексный компонент осуществляет вывод списка элементов указанного инфоблока, добавление/редактирование элементов и их удаление в зависимости от прав пользователя. Компонент стандартный и входит в дистрибутив модуля.

В визуальном редакторе компонент расположен по пути: Контент > Добавление элементов > Добавление элементов инфоблока.

Компонент относится к модулю Информационные блоки.



Параметры

Поле Параметр Описание
Параметры компонента
Количество элементов на странице NAV_ON_PAGE Задается количество элементов на одной странице. Все элементы будут выведены с помощью постраничной навигации.
Использовать CAPTCHA USE_CAPTCHA [Y|N] При отмеченной опции будет выводиться изображение и поле ввода CAPTCHA в форме добавления элемента.
Сообщение об успешном добавлении USER_MESSAGE_ADD Задается сообщение, которое выводится при успешном добавлении элемента.
Сообщение об успешном сохранении USER_MESSAGE_EDIT Задается сообщение, которое выводится при успешном сохранении элемента.
Размер полей ввода DEFAULT_INPUT_SIZE Указывается размер полей ввода в форме создания/редактирования элемента.
Использовать настройки инфоблока для обработки изображений RESIZE_IMAGES [Y|N] При отмеченной функции элементы, добавленные через публичную часть будут преобразовываться согласно настройкам инфоблока.
Источник данных
Тип инфоблока IBLOCK_TYPE Указывается один из созданных в системе типов информационных блоков.
Инфоблок IBLOCK_ID Для выбранного типа инфоблоков указывается необходимый информационный блок.
Свойства инфоблока
Свойства, выводимые на редактирование PROPERTY_CODES Указываются поля и свойства инфоблока, которые выводятся в форме создания/редактирования элемента.
Свойства, обязательные для заполнения PROPERTY_CODES_REQUIRED Указываются обязательно заполняемые поля и свойства инфоблока в форме создания/редактирования элемента.

Примечание: указанные здесь поля и свойства должны быть обязательно указаны в параметре PROPERTY_CODES.
Параметры доступа
Группы пользователей, имеющие право на добавление/редактирование GROUPS Указываются группы пользователей, имеющие право на добавление/редактирование элементов инфоблока.
Редактирование возможно для статуса STATUS Указываются статусы, находясь в которых элементы будут доступны для редактирования и удаления.
Статус после сохранения STATUS_NEW Указывается статус, в который переводятся элементы при их создании/редактировании.
Разрешать редактирование ALLOW_EDIT [Y|N] При отмеченной опции будут выведены ссылки на редактирование доступных пользователю элементов.
Разрешать удаление ALLOW_DELETE [Y|N] При отмеченной опции будут выведены ссылки на удаление доступных пользователю элементов.
Привязка к пользователю ELEMENT_ASSOC Задается привязка к пользователю:
  • создателю (CREATED_BY) - привязка по создателю: пользователю будут показаны только созданные им элементы.
  • по свойству инфоблока --> (PROPERTY_ID) - привязка по свойству инфоблока. В этом случае доступен параметр ELEMENT_ASSOC_PROPERTY.
по свойству инфоблока --> ELEMENT_ASSOC_PROPERTY Указывается свойство, по которому выполняется привязка. Компонент поддерживает отображение свойств только типов: Строка, Число, Список, Файл, Дата/Время.
Ограничить кол-во элементов для одного пользователя MAX_USER_ENTRIES Указывается максимальное количество элементов, которые может добавить пользователь.
Ограничить кол-во рубрик, в которые можно добавлять элемент MAX_LEVELS Указывается максимальное количество разделов инфоблока, в которые пользователь может добавить один и тот же элемент.
Разрешить добавление только на последний уровень рубрикатора LEVEL_LAST [Y|N] При отмеченной опции пользователям разрешено добавлять элементы только в последний раздел дерева разделов инфоблока.
Максимальный размер загружаемых файлов, байт (0 - не ограничивать) MAX_FILE_SIZE Указывается максимальный размер загружаемых файлов. Если указано 0, то размер файлов не ограничен.
Использовать упрощенный визуальный редактор для редактирования текста анонса PREVIEW_TEXT_USE_HTML_EDITOR Разрешает использование упрощенного редактора вместо полного при добавлении и редактировании.
Использовать упрощенный визуальный редактор для редактирования подробного текста DETAIL_TEXT_USE_HTML_EDITOR Разрешает использование упрощенного редактора вместо полного при добавлении и редактировании.
Управление адресами страниц
Включить поддержку ЧПУ SEF_MODE [Y|N] При отмеченной опции будет включена поддержка ЧПУ.

Если режим поддержки ЧПУ включен, то необходимо настроить следующие параметры:
Каталог ЧПУ (относительно корня сайта) SEF_FOLDER Каталог ЧПУ: путь до папки, с которой работает компонент. Этот путь может как совпадать с физическим путём, так и не совпадать.
Имена переменных VARIABLE_ALIASES Имена переменных для управления страницами.
SEF_FOLDER.
Управление режимом AJAX
Включить режим AJAX AJAX_MODE [Y|N] При установленной опции для компонента будет включен режим AJAX.
Включить прокрутку к началу компонента AJAX_OPTION_JUMP [Y|N] Если пользователь совершит AJAX-переход, то при установленой опции по окончании загрузки произойдет прокрутка к началу компонента.
Включить подгрузку стилей AJAX_OPTION_STYLE [Y|N] Если параметр принимает значение "Y", то при совершении AJAX-переходов будет происходить подгрузка и обработка списка стилей, вызванных компонентом.
Включить эмуляцию навигации браузера AJAX_OPTION_HISTORY [Y|N] Когда пользователь выполняет AJAX-переходы, то при включенной опции можно использовать кнопки браузера "Назад" и "Вперед".
Собственные названия полей
*поле_инфоблока* CUSTOM_TITLE_<поле_инфоблока> Задаются названия полей инфоблока для отображения пользователям. Вместо <поле_инфоблока> указывается следующее:
  • NAME - наименование;
  • TAGS - теги;
  • DATE_ACTIVE_FROM - дата начала;
  • DATE_ACTIVE_TO - дата завершения;
  • IBLOCK_SECTION - раздел инфоблока;
  • PREVIEW_TEXT - текст анонса;
  • PREVIEW_PICTURE - картинка анонса;
  • DETAIL_TEXT - подробный текст;
  • DETAIL_PICTURE - подробная картинка.


Пример вызова

<?$APPLICATION->IncludeComponent("bitrix:iblock.element.add","",Array(
"SEF_MODE" => "Y",
"AJAX_MODE" => "Y",
"IBLOCK_TYPE" => "articles",
"IBLOCK_ID" => "2",
"PROPERTY_CODES" => Array("NAME", "TAGS", "DATE_ACTIVE_FROM", "DATE_ACTIVE_TO", "IBLOCK_SECTION", "PREVIEW_TEXT", "PREVIEW_PICTURE", "DETAIL_TEXT", "DETAIL_PICTURE", "1", "2", "3", "4", "5", "6", "7"),
"PROPERTY_CODES_REQUIRED" => Array("NAME", "TAGS", "DATE_ACTIVE_FROM", "DATE_ACTIVE_TO", "IBLOCK_SECTION", "PREVIEW_TEXT", "PREVIEW_PICTURE", "DETAIL_TEXT", "DETAIL_PICTURE", "1", "2", "3", "4", "5", "6", "7"),
"GROUPS" => Array("1", "2", "3", "4", "5", "6", "7", "8"),
"STATUS" => Array("2", "3", "1"),
"STATUS_NEW" => "2",
"ALLOW_EDIT" => "Y",
"ALLOW_DELETE" => "Y",
"ELEMENT_ASSOC" => "CREATED_BY",
"NAV_ON_PAGE" => "10",
"MAX_USER_ENTRIES" => "100000",
"MAX_LEVELS" => "100000",
"LEVEL_LAST" => "Y",
"USE_CAPTCHA" => "Y",
"USER_MESSAGE_ADD" => "",
"USER_MESSAGE_EDIT" => "",
"DEFAULT_INPUT_SIZE" => "30",
"RESIZE_IMAGES" => "N",
"MAX_FILE_SIZE" => "0",
"PREVIEW_TEXT_USE_HTML_EDITOR" => "N",
"DETAIL_TEXT_USE_HTML_EDITOR" => "N",
"CUSTOM_TITLE_NAME" => "",
"CUSTOM_TITLE_TAGS" => "",
"CUSTOM_TITLE_DATE_ACTIVE_FROM" => "",
"CUSTOM_TITLE_DATE_ACTIVE_TO" => "",
"CUSTOM_TITLE_IBLOCK_SECTION" => "",
"CUSTOM_TITLE_PREVIEW_TEXT" => "",
"CUSTOM_TITLE_PREVIEW_PICTURE" => "",
"CUSTOM_TITLE_DETAIL_TEXT" => "",
"CUSTOM_TITLE_DETAIL_PICTURE" => "",
"SEF_FOLDER" => "/",
"AJAX_OPTION_SHADOW" => "Y",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"VARIABLE_ALIASES" => Array(
)
),
);?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
3
Роберт Басыров
Задача: Пользователь задает вопрос, а администратор сайта отвечает и публикует данную (статью\вопрос).

Решение:
Вы можете воспользоваться компонентов "Добавлением элемента в инфобок" (iblock.element.add), чтобы организовать добавление вопросов для обычных пользователей.
А выводить их по средствам компонента (Список Новостей) (news.list)
В итоге картина получится следующая:
1) Пользователь заполняет форму и отправляет ее.
2) Создается новый неактивный элемент инфоблока.
3) Администратор проверяет его и отвечает. Затем публикует его.
4) Опубликованный элемент выводится в списке.

Вы можете создать новую группу пользователей и наделить ее правами доступа(на запись) в определенный инфоблок, где будут храниться данные вопросы. Затем определить ряд пользователей в данную группу.
После чего данные пользователи смогут опубликовывать добавленные вопросы, удалять, изменять итд.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх