Коллеги, доброго времени суток.
Нужна Ваша профессиональная помощь.
Необходимо вызывать кнопки изменения/удаления элемента инфоблока (в шаблоне компонента "Список новостей") у определенных пользователей, но без показа панели управления для них, а также без доступа в Административную часть портала.
По ссылке $arItem['EDIT_LINK'] в шаблоне компонента открывается новая страница с формой редактирования свойств элемента инфоблока, но без скриптов и элементов управления (кнопки "Сохранить" и т.д.).
Выцепил скрипт, который вызывает модальное окно (Административной части) для редактирования:
Но конструкции BX.CAdminDialog и BX.admin.setComponentBorder не работают без скриптов, которые вызываются вместе в панелью управления...
Как-то можно вызывать модальные окна (Административной части) для изменения элемента инфоблока без панели управления или может выцепить отдельные скрипты BX.admin, чтобы работал данный функционал?
Подскажите пожалуйста, какими средствами лучше всего, а главное правильнее, можно реализовать редактирование новостей из публичной части, без предоставления доступа контент-редактору в Административную часть? Вижу пока только нетривиальные варианты, типа полностью кастомного функционала, включая форму обновления элемента.
Заранее большущее спасибо!
Нужна Ваша профессиональная помощь.
Необходимо вызывать кнопки изменения/удаления элемента инфоблока (в шаблоне компонента "Список новостей") у определенных пользователей, но без показа панели управления для них, а также без доступа в Административную часть портала.
По ссылке $arItem['EDIT_LINK'] в шаблоне компонента открывается новая страница с формой редактирования свойств элемента инфоблока, но без скриптов и элементов управления (кнопки "Сохранить" и т.д.).
Выцепил скрипт, который вызывает модальное окно (Административной части) для редактирования:
Код |
---|
<sc ript type="text/javascript"> if(window.BX)BX.ready(function() { (new BX.CMenuOpener({'parent':'<?=$this->GetEditAreaId($arItem["ID"])?>', 'menu':[{ 'ICONCLASS':'bx-context-toolbar-edit-icon','TITLE':'', 'TEXT':'Изменить элемент', 'ONCLICK':'(new BX.CAdminDialog({\'content_url\':\'/bitrix/admin/iblock_element_edit.php?IBLOCK_ID=<?=$arItem["IBLOCK_ID"]?>&type=news&ID=<?=$arItem["ID"]?>&lang=ru&force_catalog=&filter_section=0&bxpublic=Y&from_module=iblock&return_url=<?=(urlencode($arItem["LIST_PAGE_URL"]))?>%3Fclear_cache%3DY&siteTemplateId=bitrix24\',\'width\':\'780\',\'height\':\'500\'})).Show()'},{'ICONCLASS':'bx-context-toolbar-delete-icon','TITLE':'','TEXT':'Удалить элемент','ONCLICK':'if(confirm(\'Будет удалена вся информация, связанная с этой записью. Продолжить?\')) jsUtils.Redirect([], \'/bitrix/admin/iblock_list_admin.php?IBLOCK_ID=<?=$arItem["IBLOCK_ID"]?>&type=news&lang=ru&action=delete&ID=E<?=$arItem["ID"]?>&return_url=<?=(urlencode($arItem["LIST_PAGE_URL"]))?>%3Fclear_cache%3DY&sessid=3e9eb73c9c748dcbaadc7539f99eddbf\');' }] })).Show(); BX.admin.setComponentBorder('<?=$this->GetEditAreaId($arItem["ID"])?>'); }); </sc ript> |
Но конструкции BX.CAdminDialog и BX.admin.setComponentBorder не работают без скриптов, которые вызываются вместе в панелью управления...
Как-то можно вызывать модальные окна (Административной части) для изменения элемента инфоблока без панели управления или может выцепить отдельные скрипты BX.admin, чтобы работал данный функционал?
Подскажите пожалуйста, какими средствами лучше всего, а главное правильнее, можно реализовать редактирование новостей из публичной части, без предоставления доступа контент-редактору в Административную часть? Вижу пока только нетривиальные варианты, типа полностью кастомного функционала, включая форму обновления элемента.
Заранее большущее спасибо!