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

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

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

Сообщение svil »

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

Код: Выделить всё

    namespace app\controllers;
use yii\web\Controller;

class AppController extends Controller{

yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Как указать timezone для каждого пользователя через поведение в контроллере?

Сообщение yiiliveext »

У меня обычно есть компонент Settings, который прописан в бутстрапе и заполняет начальные настройки приложения из БД, в том числе и пользовательские.
Usick
Сообщения: 42
Зарегистрирован: 2017.04.11, 12:07

Re: Как указать timezone для каждого пользователя через поведение в контроллере?

Сообщение Usick »

Но если очень хочется через контроллер, то можно переопределить метод init().
Аватара пользователя
svil
Сообщения: 563
Зарегистрирован: 2018.02.12, 22:41

Re: Как указать timezone для каждого пользователя через поведение в контроллере?

Сообщение svil »

https://stackoverflow.com/questions/336 ... ne-in-yii2
Timezone придется из БД брать
Где это в конфиге прописывать?
Usick
Сообщения: 42
Зарегистрирован: 2017.04.11, 12:07

Re: Как указать timezone для каждого пользователя через поведение в контроллере?

Сообщение Usick »

В config/web.php

Код: Выделить всё

$config = [
    ...
    'on beforeRequest' => static function () {
         ...
    },
    ...
];
Ответить