В дополнение к статье Редактирование и удаление элементов и разделов из публичной части сайта Битрикс дополню реализацию следующего случая: как отобразить кнопки редактирования элементов инфоблока в режиме правки, если вывод этих элементов осуществляется простым GetList-ом
Собственно реализация:
CModule::IncludeModule("iblock"); //создаём экземпляр CBitrixComponent //для привязки к элементам инфоблока //кнопок редактирования: $app = new CBitrixComponent(); //какой-то гетлист... $elems = CIBlockElement::GetList(array("SORT"=>"ASC"), array('IBLOCK_ID' => 2, 'ACTIVE' => 'Y' ), false, false, array('ID', 'IBLOCK_ID', 'NAME' ) ); while ($elem = $elems->Fetch()){ $arButtons = CIBlock::GetPanelButtons( $elem["IBLOCK_ID"], $elem["ID"], 0, array("SECTION_BUTTONS"=>false, "SESSID"=>false) ); $elem["ADD_LINK"] = $arButtons["edit"]["add_element"]["ACTION_URL"]; $elem["EDIT_LINK"] = $arButtons["edit"]["edit_element"]["ACTION_URL"]; $elem["DELETE_LINK"] = $arButtons["edit"]["delete_element"]["ACTION_URL"]; $elem["ADD_LINK_TEXT"] = $arButtons["edit"]["add_element"]["TEXT"]; $elem["EDIT_LINK_TEXT"] = $arButtons["edit"]["edit_element"]["TEXT"]; $elem["DELETE_LINK_TEXT"] = $arButtons["edit"]["delete_element"]["TEXT"]; $app->AddEditAction($elem['ID'], $elem['ADD_LINK'], $elem["ADD_LINK_TEXT"]); $app->AddEditAction($elem['ID'], $elem['EDIT_LINK'], $elem["EDIT_LINK_TEXT"]); $app->AddDeleteAction($elem['ID'], $elem['DELETE_LINK'], $elem["DELETE_LINK_TEXT"], array("CONFIRM" => 'Точно удалить?')); ?> <div id="<?=$app->GetEditAreaID($elem['ID'])?>"> <!--какие-то данные элемента инфоблока--> </div> <? })