Специальные константы
Имя константы | Тип | Описание |
---|---|---|
SITE_ID | А
Т И | Идентификатор текущего сайта при использовании в Публичной части, код языка при использовании в административной части. |
SITE_DIR | А | Поле "Папка сайта" в настройках сайта. Как правило используется в случае организации многосайтовости на одном домене. |
SITE_SERVER_NAME | А | Поле "URL сервера" в настройках текущего сайта. |
SITE_TEMPLATE_PATH | А | URL от корня сайта до папки текущего шаблона. |
SITE_CHARSET | А | Поле "Кодировка" в настройках текущего сайта.
Примечание: в публичной части понятие языка и сайта отличаются. Поэтому LANG_CHARSET и SITE_CHARSET могут принимать разные значения.
|
FORMAT_DATE | А | Для публичной части, в данной константе хранится формат даты из настроек текущего сайта. Для административной части - формат даты текущего языка. |
FORMAT_DATETIME | А | Для публичной части, в данной константе хранится формат времени из настроек текущего сайта. Для административной части - формат времени текущего языка. |
LANGUAGE_ID | А | Если это публичная часть, то в данной константе хранится поле "Язык" из настроек текущего сайта, если административная часть, то в данной константе хранится идентификатор текущего языка. |
LANG_CHARSET | А | В данной константе содержится значение кодировки, указанной в секции Параметры формы настроек текущего сайта.
Примечание: в публичной части понятие языка и сайта отличаются. Поэтому LANG_CHARSET и SITE_CHARSET могут принимать разные значения.
|
SITE_TEMPLATE_ID | А | Идентификатор текущего шаблона сайта. |
START_EXEC_TIME | А | Содержит время начала работы страницы в формате возвращаемом функцией getmicrotime. |
B_PROLOG_INCLUDED | А | Если подключена служебная часть пролога, то данная константа будет инициализирована значением "true". Как правило эту константу используют во включаемых файлах в целях безопасности, когда необходимо убедиться, что пролог подключен и все необходимые права проверены. |
SM_VERSION | А | Текущая версия главного модуля. |
SM_VERSION_DATE | А | Дата выпуска текущей версии главного модуля. |
ADMIN_SECTION | А
Т | Если необходимо подключать пролог административной части, то значение данной константы - "true". |
AUTH_404 | Т |
Данную константу необходимо инициализировать до пролога в файлах-обработчиках 404 ошибки (страница не найдена). Подобные файлы-обработчики задаются в настройках веб-сервера. Инициализация этой константы позволяет в стандартных компонентах авторизации, регистрации, высылки забытого пароля, смены пароля поменять страницу на которую будет осуществляться сабмит соответствующей формы. Этой страницей по умолчанию является - текущая страница, если же константа инициализирована, то это будет - /SITE_DIR/auth.php. Необходимость инициализации этой константы связана с тем, что на несуществующие страницы отослать данные методом POST нельзя, а именно с этим методом и работают вышеперечисленные компоненты. Поэтому если файл текущей страницы физически не существует на сервере, то без этой константы компоненты работать не будут. Пример:define("AUTH_404", "Y"); |
HELP_FILE | Т | Данная константа используется как правило в административных скриптах, для хранения имени файла контекстно-зависимой помощи, в случае если это имя отличается от имени данного скрипта. Ссылка на контекстно-зависимую помощь выводится в виде иконки на административной панели.
Пример: define("HELP_FILE", "my_admin_script.php"); |
NEED_AUTH | Т | Если инициализировать данную константу значением "true" до подключения пролога, то будет проведена проверка на авторизованность пользователя. Если пользователь не авторизован, то ему будет предложена форма авторизации.
Пример: define("NEED_AUTH", true); |
ERROR_EMAIL | Т
И | Хранит E-Mail адрес (или группу адресов разделенных запятой), используемый функцией SendError для отправки сообщений об ошибках.
Пример: define("ERROR_EMAIL", "admin@site.ru, support@site.ru"); |
LOG_FILENAME | Т
И С | Хранит абсолютный путь к log-файлу, используемого функцией AddMessage2Log для записи ошибок или каких-либо сообщений.
Пример: define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]. "/log.txt"); |
STATISTIC_ONLY | Т
И С | Как правило данная константа используется в редакции "Веб-Аналитика". Если ее не инициализировать, то в публичной части будет отсылаться HTTP заголовок:
Content-Type: text/html; charset=SITE_CHARSET Пример: define("STATISTIC_ONLY", true); |
NO_KEEP_STATISTIC | Т
И С | Если инициализировать данную константу каким либо значением, то это запретит сбор статистики на данной странице.
Пример: define("NO_KEEP_STATISTIC", true); |
STOP_STATISTICS | Т
И С | Константа предназначена для отключения автоматического сбора статистики, реализованного как вызов функции CStatistics::Keep в качестве обработчика события OnBeforeProlog. Константу необходимо инициализировать до подключения пролога. Затем, при необходимости, можно использовать "ручной" сбор статистики, вызвав функцию CStatistics::Keep (с первым параметром, равным true).
Пример: <? // отключим автоматический // сбор статистики define("STOP_STATISTICS", true); require($_SERVER["DOCUMENT_ROOT"]. "/bitrix/header.php"); // включим сбор статистики CStatistics::Keep(true); ... |
NO_AGENT_STATISTIC | Т И
С | Инициализация этой константы каким-либо значением приведет к запрету следующих действий модуля "Статистика", выполняемых ежедневно при помощи технологии агентов:
define("NO_AGENT_STATISTIC", true); |
NO_AGENT_CHECK | Т И
С | При установке в true отключает выполнение всех агентов
Пример: define("NO_AGENT_CHECK", true); |
NOT_CHECK_PERMISSIONS | Т
И С | Если инициализировать данную константу значением "true" до подключения пролога, то это отключит проверку прав на доступ к файлам и каталогам.
Пример: define("NOT_CHECK_PERMISSIONS", true); |
ONLY_EMAIL | Т
И С | Если на странице задана константа ONLY_EMAIL и email из настроек почтового шаблона с ее значением не совпадает, то письмо не отсылать. То есть отсылка письма будет происходить только в том случае если значение данной константы будет соответствовать адресу отправителя в настройках шаблона.
Пример: define("ONLY_EMAIL", "admin@site.ru"); |
BX_CRONTAB | Т
И С | Если данная константа инициализирована значением "true", то функция проверки агентов на запуск будет отбирать только те агенты для которых не критично количество их запусков (т.е. при добавлении этого агента параметр period=N). Как правило данная константа используется для организации запуска агентов на cron'е.
Пример: define("BX_CRONTAB", true); |
BX_FILE_PERMISSIONS | Т
И С | Unix-права для вновь создаваемых файлов.
Пример: define("BX_FILE_PERMISSIONS", 0755); |
BX_DIR_PERMISSIONS | Т
И С | Unix-права для вновь создаваемых каталогов.
Пример: define("BX_DIR_PERMISSIONS", 0755); |
SM_SAFE_MODE | Т
И С | Инициализация данной константы значением "true" позволит отключить все модули системы за исключением главного и модуля "Управление структурой".
Пример: define("SM_SAFE_MODE", true); |
DIRECTORY_INDEX | Т
И С | Данная константа используется в функции GetDirIndex для определения индексного файла каталога.
Пример: define("DIRECTORY_INDEX", " index.php index.html index.htm index.phtml default.html index.php3 "); |
MYSQL_TABLE_TYPE | С | Значение данной константы содержит тип таблиц создаваемый в MySQL по умолчанию: "MyISAM" или "InnoDB".
Пример: define("MYSQL_TABLE_TYPE", "InnoDB"); |
DBPersistent | С | Если данная константа инициализирована значением "true", то будет создаваться постоянное соединение с базой.
Пример: define("DBPersistent", true); |
BX_DISABLE_INDEX_PAGE | C | Может принимать значение true/false. Константа регулирует значение по умолчанию для параметра get_index_page функций GetPagePath(), CMain::GetCurPage(), CMain::GetCurPageParam(). Параметр get_index_page указывает, нужно ли для индексной страницы раздела возвращать путь, заканчивающийся на "index.php". Если значение параметра равно true, то возвращается путь с "index.php", иначе - путь, заканчивающийся на "/". Параметр имеет значение, обратное значению константы. |
BX_NO_SQL_BACKTRACE | А | Может принимать значение true/false. Если инициализировать данную константу каким либо значением,то она отключает/включает сбор бектрейсов при включенной отладке. |
TAGGED_user_card_size | И | Константа для регулирования тегированного кеша пользователей. |
BX_NO_ACCELERATOR_RESET | И | Константа запрещающая сброс кеша акселератора. |
PERFMON_STOP | При установке константы в true не используется монитор производительности. |
Обозначения типов констант:
- А (авто) - константа инициализируется системой в прологе автоматически
- Т (страница) - константу можно определить на любой публичной странице до подключения пролога
- И (инициализация) - константу можно определить в одном из следующих файлов:
- /bitrix/php_interface/init.php - дополнительные параметры портала
- /bitrix/php_interface/ID сайта/init.php - дополнительные параметры сайта
- С (соединение с базой) - константу можно определить только в файле хранящим параметры соединения к базе: /bitrix/php_interface/dbconn.php
Сообщение не промодерировано, возможны ошибки и неточности.
|
А почему этой BX_CATALOG_IMPORT_1C_PRESERVE константы нет в списке?
|
Сообщение не промодерировано, возможны ошибки и неточности.
|
Учитывайте, что константа ONLY_EMAIL не подходит для использования в отдельных скриптах, отсылающих почту через CEvent::Send(), потому что ставить в очередь она не мешает. А очередь при отсылке уже не знает про то, что письмо было впихано в очередь на отсылку из скрипта с ограничением. Так что сделать "тихий" импорт, который почту не шлёт, а остальной сайт шлёт, через эту константу не получится.
|
kagamisorano
|
||
Будьте аккуратны с константой SITE_ID !
Пример - вы пишете обработчик события в файле /bitrix/php_interface/init.php, который вызывает отправку E-mail по почтовому шаблону:
Почтовый шаблон прикреплен к сайту с ID по умолчанию 's1', а в момент срабатывания обработчика у вас в SITE_ID лежит 'ru' - знак, что вы в админке и она на Русском языке. В результате в таблице b_event имеем SUCCESS_EXEC = 0, что означает "Почтовый шаблон для события не найден". | ||
Vadim Dumbravanu
|
||
| ||
colonel
|
||
При использовании
| ||
Дмитрий Яковенко
|
Вопрос: как сделать так, чтобы некоторые страницы сайта не рагировали на служебные параметры в URL?
Ответ: define("PUBLIC_AJAX_MODE", true); отключит вывод информации. |
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.