При разработке своего компонента либо просто использование API для вывода элементов инфоблока из базы, вам может потребоваться, чтобы при наведении на редактируемый элемент были доступны опции «Изменить элемент» и «Удалить элемент».
Сделать это очень просто.
Достаточно в цикле, который выводит ваши элементы, добавить следующий код:
<?
//Получаем ссылки для редактирования и удаления элемента
$arButtons = CIBlock::GetPanelButtons(
$arItem["IBLOCK_ID"],
$arItem["ID"],
0,
array("SECTION_BUTTONS"=>false, "SESSID"=>false)
);
$arItem["EDIT_LINK"] = $arButtons["edit"]["edit_element"]["ACTION_URL"];
$arItem["DELETE_LINK"] = $arButtons["edit"]["delete_element"]["ACTION_URL"];
$arItem["ADD_LINK"] = $arButtons["edit"]["add_element"]["ACTION_URL"];<br>
//Добавляем действия для управления элементом
$this->AddEditAction($arItem['ID'], $arItem['ADD_LINK'], $arItem["ADD_LINK_TEXT"]);
$this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_EDIT"));
$this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BNL_ELEMENT_DELETE_CONFIRM')));
?>
Затем на том блоке, в котором будет располагаться содержимое элемента, нужно будет добавить уникальный id для управления этим элементом:
<p id="<?=$this->GetEditAreaId($arItem['ID']);?>">
<!-- тут содержимое элемента-->
</p>
P.S. весь код выше предполагает, что элементы будут названы $arItem. Если они у указаны по-другому, просто нужно заменить название в коде на свое.
Количество просмотров: 450