В вашей текущей схеме “панель в публичке” фактически состоит из двух независимых механизмов:
- Кнопки в панели 1С-Битрикс (верхняя админ-панель на сайте) Они добавляются в проектном
{site_dir}/simai.data/template/panel.phpи появляются только при выполнении условия:
- пользователь — администратор (
$USER->IsAdmin()).
Сейчас в активной части кода добавляются кнопки со ссылками (в том числе с меню), которые открывают страницы документации/сайта SIMAI. Блок с “диалогом свойств” (кнопка настроек/свойств) у вас закомментирован и, по твоему правилу, не считается используемой функциональностью — в документации SF4 для ваших проектов мы это не описываем как доступную возможность.
- Оверлеи/кнопки редактирования поверх контента (SF4-режимы development/edit) Это уже не “верхняя панель Bitrix”, а элементы поверх блоков/элементов, которые SF4 умеет рисовать в публичной части через хелперы
SIMAI\Main\Block\Edit. Тут управление идёт через свойства уровня сайта (итоговые значения лежат вSIMAI\Main\Configuration\Property, то есть в session-store, который вы собираете вproperty.php):
development_mode = "Y"— включает “зону конфигурации” (визуальный оверлей с шестерёнкой) для блоков; по клику открывается админ-страница конфигурации блока;edit_mode = "Y"— включает кнопки добавления/редактирования/удаления для данных инфоблока, но только если права на инфоблок позволяют запись (CIBlock::GetPermission(...) >= 'W');iblock_public_editor = "Y"— переключает открытие форм редактирования на ваши публичные/проектные обработчики вSF_DATA_DIR/admin/...(вместо стандартного попапа Bitrix на/bitrix/admin/iblock_element_edit.php).
Практически это даёт два режима эксплуатации:
- если
iblock_public_editor != "Y"— SF4 использует стандартное битриксовое редактирование (попап-форма админки); - если
iblock_public_editor = "Y"— SF4 открывает ваши “облегчённые” формы в модальном окне (черезsf-modalи обработчики вsimai.data/admin/...).
Минимальный пример того, как такие оверлеи подключаются “на месте” в шаблонах/блоках (как API-паттерн):
<?php
use SIMAI\Main\Block\Edit;
// Оверлей с кнопками редактирования для элемента инфоблока
echo Edit::addEditItemArea($elementId);
// Оверлей "добавить новый элемент" для инфоблока
echo Edit::addNewItemArea($iblockId);