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

256
Алексей,

Как добавить возможность редактирования (из публичной части) элемента инфоблока вне компонента?

Как добавить возможность редактирования (из публичной части) элемента инфоблока вне компонента?

Для начала нужно получить ссылку на редактирование элемента, делается это методом CIBlock::GetPanelButtons(), пример для элементов:

$arButtons = CIBlock::GetPanelButtons(
	$arItem["IBLOCK_ID"],
	$arItem["ID"],
	0,
	array("SECTION_BUTTONS" => false, "SESSID" => false)
);
$arItem["EDIT_LINK"] = $arButtons["edit"]["edit_element"]["ACTION_URL"] ?? '';

Далее, в шаблоне необходимо сформировать области для наведения в режиме правки:

<?php
	$component = new CBitrixComponent();
	$component->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_EDIT"));
?>
<div  id="<?=$component->GetEditAreaId($arItem['ID']);?>">
	html код
</div>

Вот и всё, теперь в режиме правки будет доступная область для редактирования.

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 19 февраля 2024 | Обновлено 4 апреля 2024
админка, режим правки, юзабилити, инфоблоки
Поделиться
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Как добавить возможность редактирования (из публичной части) элемента инфоблока вне компонента?