Программирование, веб-кодинг, Расширения, виджеты

Модуль настроек в yii2-settings. Хранение настроек в базе данных.

Возможность менять данные настроек. Используем, например, как params

Это расширение помогает, когда возникает нужда хранить в базе данных и извлекать какой-либо кусочек данных в произвольное место на сайте. Например, предоставить админу возможность менять телефон и email в хедере сайта через "личный кабинет". Так можно организовать динамическое редактирование любой части сайта. Конечно, удобнее всего это подходит для недлинных текстов настроек.

Модуль настроек в yii2-settings. Хранение настроек в базе данных.

Использую расширение pheme/yii2-settings.

В config/web.php в modules надо прописать (тут ещё фильтр для проверки доступа указан)

'modules' => [
       ...
        'settings' => [
            'class' => 'pheme\settings\Module',
            'as access' => [
                'class' => yii\filters\AccessControl::className(),
                'ruleConfig' => [
                    'class' => yii\filters\AccessRule::className(),
                ],
                'rules' => [
                    [
                        'allow' => true,
                        'roles' => ['admin'],
                    ],
                ],
            ],    
            'sourceLanguage' => 'ru'
        ],
    ],

Там же в конфиге в массив components надо добавить

'settings' => [
    'class' => 'pheme\settings\components\Settings',
],

А ещё в конфиге поменял параметры для русского языка, без этого yii не переводил сообщения модуля с "::t" на русский.

$config = [
    ...
    'sourceLanguage' => 'ru-RU',
    'language'=>'ru-RU',
    ...

Вставка и показ нужного куска текста из настроек:

<?php
    $settings = Yii::$app->settings;
    echo $value = $settings->get('Site.contactsContacts');
    $settings->clearCache();
?>