Как узнать что включен режим правки?

675
Алексей,
Как узнать что включен режим правки?

В коде. Есть метод $APPLICATION->GetShowIncludeAreas(), возвращает true если режим правки включен.

В коде. Есть метод $APPLICATION->GetShowIncludeAreas(), возвращает true если режим правки включен. Всё просто:

global $APPLICATION;
if ($APPLICATION->GetShowIncludeAreas()) {
	// режим правки включен
} else {
	// режим правки выключен
}

Тут столкнулся с интересным багом. В режиме правки компоненты добавляют различные кнопки (например для добавления/удаления элементов инфоблока). Делается это с помощью метода CIBlock::GetPanelButtons(). Так вот в этом методе делаются запросы в БД сразу, без проверки "а нужны ли вообще данные для создания кнопок" (включен ли режим правки). Не очень оптимально, но это ядро, в него просто так правки не внести.

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 19 октября 2021
разработчику, админка
Поделиться
Похожие статьи
Модуль переключения веток git из админки
Бесплатный модуль для битрикс, позволяющий переключать ветку git прямо из админки. Для установки не ...
Читать дальше » 0
Алексей,
Как скрыть неактивные инфоблоки в админке
На большом сайте количество инфоблоков быстро растёт, многие из них служебные и не предназначены для...
Читать дальше » 0
Алексей,
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
В коде. Есть метод $APPLICATION->GetShowIncludeAreas(), возвращает true если режим правки включен.