Редактирование из публичной части
Как добавить возможность редактирования (из публичной части) элемента инфоблока вне компонента?
Для начала нужно получить ссылку на редактирование элемента, делается это методом 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>
Вот и всё, теперь в режиме правки будет доступная область для редактирования.
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.