Редактирование и удаление элементов и разделов из публичной части сайта Битрикс

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

MAjppV0hnK4Wme

Далее, если мы планируем поменять информацию о товаре — жмем изменить. При этом всплывет окошко со всеми теми же полями и вкладками, что и при обычном редактировании из админки, но нам уже не нужно искать соответствующий элемент инфоблока и идти по структуре каталога.

Программирование кнопок редактирования

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

далее задается id для DOM элемента в html, который является контейнером при отображении информации  об элементе инфоблока на странице, например если это div:

При нехватке данных

Внутри шаблона доступны данные, нужные для формирования кнопок редактирования, они содержатся в результирующем массиве для каждого элемента:

Но иногда требуется организовать эти кнопки в шаблоне, где вышеупомянутые данные недоступны, например если мы в списке разделов каталога catalog.section.list получили отдельно в result_modifier.php по нескольку элементов для каждого раздела. Данные EDIT_LINK и DELETE_LINK можно получить зная ID инфоблока и элемента или раздела (в зависимости для чего мы хотим получить кнопки редактирования):

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

Или в случае когда мы это проделываем для разделов инфоблока:

И далее уже можем выполнять функции AddEditAction и AddDeleteAction, которые приводились в начале статьи и получать id для html элемента.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *