dkrylov
@dkrylov

Как правильно реализовать вывод статических данных в yii2?

Здравствуйте ;)

В продолжении обучения yii2 наткнулся на такую задачу.

В самом простом случае: есть страница "Контакты", на ней есть блок с формой обратной связи(справа), внизу карта, и с лева от формы обратной связи есть блок с текстом (номер телефона, имейл и т.п.).
Данный текст должен правиться в админке, соответственно, необходимо сделать таблицу `page` (утрированно):
id | page_content

И возникает вопрос, каким образом выводить такие данные? Правильно я думаю - делать для них виджет, и в месте где должены выводиться данные его инициализировать? Т.к. есть и другие страницы, к примеру главная.

И как поступить, если допустим на одноименной странице должно быть 2-3 блока с такими данными?
  • Вопрос задан
  • 352 просмотра
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
Можно эти данные прописать в файле params.php.
'adminEmail' => 'test@gmail.com',
Выводить так:
echo Yii::$app->params['admin_email'];
Можно сделать модуль настроек.
Можно сделать так, как Вы говорите, таблица page и выводить на странице "контакты" нужную Вам информацию.
Вариантов много.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Тут стоит разбить проблему на несколько.
1. Как хранить - в БД
2. Как получать и править - я бы для таких вещей сделал компонент, условно "настройки сайта", под него 1 или несколько страниц, получал бы данные и кешировал на неопределенный срок, чистил бы кеш при действии в CRUD в админке. Удобно получать, как-то так:
Yii::$app->settings->get('contacts')
3. Как выводить - тут или свой виджет или блок ( www.yiiframework.com/doc-2.0/yii-widgets-block.html ) или просто отдельная view.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы