Блог Горошко Андрея 1C-Битрикс Региональные настройки Bitrix\Main\Context\Culture (форматы дат, имен, кодировки)

Региональные настройки Bitrix\Main\Context\Culture (форматы дат, имен, кодировки)

Средний рейтинг
Еще нет оценок

В Битрикс каждый сайт имеет свои «Региональные настройки» (Culture): формат даты, формат времени, формат имени (Иван Иванов или Иванов Иван), кодировку. В D7 доступ к этим настройкам осуществляется через объект Culture в контексте.

Получение объекта Culture

use Bitrix\Main\Context;

$context = Context::getCurrent();
$culture = $context->getCulture();

// Если нужно для конкретного сайта (не текущего):
// $site = \Bitrix\Main\SiteTable::getById('en')->fetchObject();
// $culture = $site->getCulture();

Полезные методы

1. Форматы даты и времени
Не нужно хардкодить ‘d.m.Y’. Используйте настройки сайта.

// Получить формат даты (например, "DD.MM.YYYY")
$dateFormat = $culture->getDateFormat(); 

// Получить формат даты и времени (например, "DD.MM.YYYY HH:MI:SS")
$dateTimeFormat = $culture->getDateTimeFormat();

// Получить кодировку (например, "UTF-8")
$charset = $culture->getCharset();

Пример использования с объектом DateTime:

$now = new \Bitrix\Main\Type\DateTime();
echo $now->format($dateFormat); // Выведет дату в формате текущего сайта

2. Формат имени
В разных странах имена пишут по-разному. Битрикс хранит шаблон формата имени (например, #NAME# #LAST_NAME#).

$nameFormat = $culture->getNameFormat();

// Форматируем имя пользователя
$formattedName = \CUser::FormatName(
    $nameFormat, 
    [
        "NAME" => "Иван", 
        "LAST_NAME" => "Иванов", 
        "SECOND_NAME" => "Иванович",
        "LOGIN" => "ivan"
    ],
    true, // htmlspecialchars
    false // использовать login если поля пустые
);

echo $formattedName;

Вывод:
Использование Context::getCurrent()->getCulture() делает ваши модули и компоненты интернациональными.

Они будут автоматически подстраиваться под формат дат и имен того сайта, на котором установлены.

Bitrix Culture, Context Culture, формат даты битрикс, формат имени, региональные настройки, getDateFormat, getDateTimeFormat.

Мой рейтинг:

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

Related Post

Всплывающие окна в Битрикс: Создание и управление с помощью BX.PopupWindowВсплывающие окна в Битрикс: Создание и управление с помощью BX.PopupWindow

Средний рейтинг Еще нет оценок Всплывающие (модальные) окна — неотъемлемая часть современного интерфейса. Битрикс предоставляет мощный и гибкий JS-класс BX.PopupWindow для их создания и управления. Шаг 1: Базовое создание окна Для создания

CRUD-операции в Bitrix D7 ORM: add, update, delete на практикеCRUD-операции в Bitrix D7 ORM: add, update, delete на практике

Средний рейтинг Еще нет оценок Мы уже рассмотрели, как выбирать данные с помощью getList в D7 ORM. Теперь давайте разберем полный цикл CRUD-операций (Create, Read, Update, Delete), который позволяет полностью управлять данными

 Ядро D7: Application, Context и Request — современная работа с окружением Ядро D7: Application, Context и Request — современная работа с окружением

Средний рейтинг Еще нет оценок В старом ядре Битрикс для доступа к данным окружения использовались глобальные переменные ($APPLICATION, $_SERVER, $_POST, $_SESSION). Этот подход затрудняет тестирование и понимание кода. В ядре D7 введены специальные