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

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

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

Сообщение svil » 2019.11.12, 20:27

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

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

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

class AppController extends Controller{



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

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

Сообщение yiiliveext » 2019.11.13, 11:13

У меня обычно есть компонент Settings, который прописан в бутстрапе и заполняет начальные настройки приложения из БД, в том числе и пользовательские.

Usick
Сообщения: 33
Зарегистрирован: 2017.04.11, 12:07

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

Сообщение Usick » 2019.11.14, 14:06

Но если очень хочется через контроллер, то можно переопределить метод init().

Аватара пользователя
svil
Сообщения: 560
Зарегистрирован: 2018.02.12, 22:41

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

Сообщение svil » 2019.11.15, 11:04

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

Usick
Сообщения: 33
Зарегистрирован: 2017.04.11, 12:07

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

Сообщение Usick » 2019.11.15, 11:36

В config/web.php

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

$config = [
    ...
    'on beforeRequest' => static function () {
         ...
    },
    ...
];

Ответить