19 апр 2020
3735
Для этого необходимо модифицировать страницу редактирования элемента. Для этого воспользуемся обработчиками событий, в частности события вызова контекстного меню OnAdminContextMenuShow. Для это в файле init.php напишем обработчик события.
Файл init.php располагается в папке: ./bitrix/php_interface/ или ./local/php_interface/. Если в этих папках его нет, то нужно его создать в одной из папок.
Запишем в файл init.php следующий код:
AddEventHandler('main', 'OnAdminContextMenuShow', 'ElementDetailAdminContextMenuShow');
function ElementDetailAdminContextMenuShow(&$items){
if ($_SERVER['REQUEST_METHOD']=='GET' && $GLOBALS['APPLICATION']->GetCurPage()=='/bitrix/admin/iblock_element_edit.php' && $_REQUEST['ID']>0)
{
CModule::IncludeModule('iblock');
$rsElement = CIBlockElement::GetList(
$arOrder = array("ID" => "ASC"),
$arFilter = array(
"=IBLOCK_ID" => $_REQUEST['IBLOCK_ID'],
"=ID" => $_REQUEST['ID'],
),
false,
false,
$arSelectFields = array("ID", "NAME", "IBLOCK_ID", "CODE", "DETAIL_PAGE_URL")
);
if($arElement = $rsElement->GetNext(true, false)):
$items[] = array(
"TEXT" => "Открыть страницу элемента",
"LINK" => $arElement['DETAIL_PAGE_URL'],
'LINK_PARAM' => 'target=_blank',
"TITLE" => "Открыть страницу элемента",
"ICON" => "adm-btn",
);
endif;
}
}
Теперь на странице просмотра/редактирования элемента появится кнопка "Отрыть страницу элемента" при нажатии на которую, откроется страница элемента.