Рендер шаблона в контроллере

В контроллере вы часто будете использовать конструкцию вида:

$this->render($template, $data);

Данный метод включен в любом контроллере по умолчанию. И этот метод принимает два параметра:

$template - шаблон, который лежит в папке с модулем данного контроллера, и тогда путь можно просто указать template.php.

$data - подготовленные данные для шаблона.


Либо вы будете рендерить шаблон целиком, методо html()->renderTemplate("")->show();

Можно отрендерить только конкретный файл, html()->render($file, $data);

Во всех случаях вы первым параметром передаете файл, вторым данные.

Получение данных


Данные для шаблона можно получить целым рядодм способов, рассмотрим варианты:

1. Самый простой, это передать заранее подготовленные данные:

$this->render($file, ['Мои данные', 'Еще мои данные']);

2. Данные можно получить из модели:

$this->render($newListFileTamplate, News::instance()->limit(3)->getAll()); //подробнее о моделях здесь

3. Можно прочитать из файла:

$this->render($issueListFile, file_get_contents(__DIR__."/issue.csv"));