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

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

2983
19.01.2016

Иногда возникает необходимость выводить какой-то блок данных только при включенном режиме редактирования. Для этого нужно делать проверку на то, что у данного авторизованного пользователя включен данный режим.

Иногда возникает необходимость выводить какой-то блок данных только при включенном режиме редактирования. Для этого нужно делать проверку на то, что у данного авторизованного пользователя включен данный режим.

При включении режима редактирования передается get-параметр

bitrix_include_areas=Y

а затем в сессии появляется ключ

SESS_INCLUDE_AREAS

Таким образом, для отображения нужной информации нужно проверять совпадение хотя бы одного из этих условий:

(
	(
		isset($_GET['bitrix_include_areas'])
		&&  strtoupper($_GET['bitrix_include_areas'])=='Y'
	)
	||
	$_SESSION['SESS_INCLUDE_AREAS']
)

UPDATE 2017-04-26

У главного модуля есть функция, позволяющая на стороне сервера определить, включен ли режим правки:

$text = "Произвольный HTML";

// если кнопка "Показать включаемые области" нажата, то
if ($APPLICATION->GetShowIncludeAreas())
{
    $arIcons = Array();
    $arIcons[] =
            Array(
                "URL" => "/bitrix/admin/my_script1.php",
                "SRC" => "/images/my_icon1.gif",
                "ALT" => "Текст всплывающей подсказки"
            );
    $arIcons[] =
            Array(
                "URL" => "/bitrix/admin/my_script2.php",
                "SRC" => "/images/my_icon2.gif",
                "ALT" => "Текст всплывающей подсказки"
            );

    // выведется надпись "Произвольный HTML" обрамленная рамкой,
    // в правом верхнем углу которой будут две иконки my_icon1.gif и my_icon2.gif
    // с заданными на них ссылками на скрипты my_script1.php и my_script2.php

    echo $APPLICATION->IncludeString($text, $arIcons);
}
else
{
    // иначе просто выводим надпись "Произвольный HTML"
    echo $text;
}


Благодарю за внимание! Делитесь вашими замечаниями в комментариях ниже.


P.S. Обращайтесь ко мне за приобретением лицензий и продлений на 1C-Битрикс "Управление сайтом", лицензий на облачную и коробочную версии Битрикс 24 а также за приобретением и внедрением готовых решений на базе 1С-Битрикс от партнеров. За более подробной информацией свяжитесь со мной любым удобным для вас способом


Комментарии

Еще никто не комментировал данную публикацию. Будьте первыми!

Добавить комментарий

captcha

Возврат к списку