Задать вопрос

Как добавить доп контент на страницу, которая тянется с бд?

Есть контроллер для страниц:
class PageController extends AppController
{
    public function actionView($alias)
    {
        $page = Page::find()->where(['alias' => $alias])->one();
        if(empty($page)){
            throw new HttpException(404, 'Страница не найдена.');
        }
        return $this->render('view', compact(['page']));
    }
}

На определенную страницу я хочу добавить к примеру форму обратной связи, как это реализовать - писать для конкретной страницы отдельный render, совмещая информацию из базы данных и новые данные или как-то иначе?
  • Вопрос задан
  • 149 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Как вариант, можно сделать так:
class PageController extends AppController
{
    public function actionView($alias)
    {
       
        $page = Page::find()->where(['alias' => $alias])->one();
        if(empty($page)){
            throw new HttpException(404, 'Страница не найдена.');
        }

        $contact = new ContactForm();
        return $this->render('view', ['page' => $page, 'contact' => $contact]);
    }
}

Вынесите в отдельный метод, будет меньше кода в действии
$page = Page::find()->where(['alias' => $alias])->one();
        if(empty($page)){
            throw new HttpException(404, 'Страница не найдена.');
        }
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы