Если вы используете компонент список новостей или какой-то свой собственный, вам могут понадобится кнопки управления элементом в публичной части.
Как добавить кнопки «Изменить элемент», «Добавить элемент», «Удалить элемент» в 1С-Битрикс
Для того чтобы добавить такие кнопки, вам нужно создать файл result_modifier.php или component_epilog.php и затем добавить экшены к вашим кнопкам.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<? foreach($arResult["ITEMS"] as $arItem) { $arButtons = CIBlock::GetPanelButtons( $arItem["IBLOCK_ID"], $arItem["ID"], 0, array("SECTION_BUTTONS"=>false, "SESSID"=>false) ); //echo '<pre>', print_r($arButtons), '</pre>'; $arItem["ADD_LINK"] = $arButtons["edit"]["add_element"]["ACTION_URL"]; $arItem["EDIT_LINK"] = $arButtons["edit"]["edit_element"]["ACTION_URL"]; $arItem["DELETE_LINK"] = $arButtons["edit"]["delete_element"]["ACTION_URL"]; $arItem["ADD_LINK_TEXT"] = $arButtons["edit"]["add_element"]["TEXT"]; $arItem["EDIT_LINK_TEXT"] = $arButtons["edit"]["edit_element"]["TEXT"]; $arItem["DELETE_LINK_TEXT"] = $arButtons["edit"]["delete_element"]["TEXT"]; $this->AddEditAction($arItem['ID'], $arItem['ADD_LINK'], $arItem["ADD_LINK_TEXT"]); $this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], $arItem["EDIT_LINK_TEXT"]); $this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], $arItem["DELETE_LINK_TEXT"], array("CONFIRM" => GetMessage('CT_BNL_ELEMENT_DELETE_CONFIRM'))); } ?> |
Итак, разбираем AddEditAction — первый параметр айди элемента, второй ссылка на экшен, третий текст кнопки. Обратите внимание, что для удаление используется AddDeleteAction, где мы передаем четвертым параметром подтверждение через алерт браузера.
Чтобы всё это заработало, контейнеру нужно дать id:
1 2 3 |
<div id="<?=$this->GetEditAreaID($arItem['ID'])?>"> <!-- контент блока --> </div> |
Самое главное, правильно передать ID элемента, и тогда всё у вас получится 🙂