BMC IO DocsBMC IO Docs
IO v6
IO v7
Notes
Docs
IO v6
IO v7
Notes
Docs
  • IO Framework v6

    • О фреймворке
    • Уроки
    • Структура
    • Доступ к участкам проекта
    • Старые версии фреймворка
    • Разворачивание нового проекта
  • Backend

    • Функции фреймворка
    • Настройки проекта (app/i.php)
    • Настройки composer
    • Глобальные переменные
    • Константы фреймворка
    • Event класс
    • IOCore класс
    • Controller и работа с ними
    • Class и работа с ними
    • Model и работа с ними
    • View и работа с ними
    • Мультиязычность и словарь фраз
    • Bin скрипты и работа с ними
    • Cron скрипты и работа с ними
    • $ioSession и работа с сессией
    • $ioSession->user и работа с пользователем
    • $ioHash и работа с кешем
    • $ioXCache и работа с кешем
    • $iodb и работа с базой данных
  • Frontend

    • Twig шаблонизатор и работа с ним
    • Twig функции
    • Twig фильтры
    • JS плагины
    • Отложенная загрузка JS скриптов
    • Обращение к Model через JS
  • Примеры

    • AutoIncrement, зависящий от полей

IO v6. View и работа с ними, взаимодействие View с Model

  • Описание
  • Функции
    • render()
    • renderPlain()
    • setLayout

Описание

View - это html файл, шаблонизируемый через Twig, содержащий в себе элементы интерфейса (UI).

Layout view — это html файл, шаблонизируемый через Twig, который определяет структуру и внешний вид пользовательского интерфейса (UI).

Функции

render()

Встроенная функция controller, отрисовывающая указанную view с использованием предустановленной layout view (из настроек controller, либо принудительно измененной).

self::render(string $view, array $params = []): void
Аргумент функцииТипОписаниеОбязательный
$viewstringentityname view файла.Да
$paramsarrayМассив параметров, передаваемых в указанный view файл.Нет

Рендер view в controller с layout view

public static function actionIndex($method, $end)
{
    self::render('app.view.example');
    // или
    self::render('app.view.example', [
        'hello' => 'world',
    ]);
}

renderPlain()

Функция, отрисовывающая указанную view без использования layout view.

  • self функция является встроенной функцией controller и используется в них.
  • IOCore функция используется в model.
  • Twig функция используется в view.
self::renderPlain(string $view, array $params = []): void
IOCore::renderPlain(string $view, array $params = []): void
{{renderPlain(string $view, array $params = [])}}
Аргумент функцииТипОписаниеОбязательный
$viewstringentityname view файла.Да
$paramsarrayМассив параметров, передаваемых в указанный view файл.Нет

Рендер view в controller без layout view

public static function actionIndex($method, $end)
{
    self::renderPlain('app.view.example');
    // или
    self::renderPlain('app.view.example', [
        'hello' => 'world',
    ]);
}

Рендер view в model без layout view

public static function doExample($result, $params)
{
    IOCore::renderPlain('app.view.example');
    // или
    IOCore::renderPlain('app.view.example', [
        'hello' => 'world',
    ]);
    
    $result->error_code = EIO_OK;
    __exit:
    return $result;
}

Рендер view во view

{{ renderPlain('app.view.example') }}
<!-- или -->
{{ renderPlain('app.view.example', {
    hello: 'world',
}) }}

setLayout

Встроенная функция controller, принудительно изменяющая layout view для следующих render функций тела action функции.

self::setLayout(string $view): void
Аргумент функцииТипОписаниеОбязательный
$viewstringentityname view файла, который будет использоваться в качестве layout view.Да

Принудительная замена layout view в controller

public static function actionIndex($method, $end)
{
    self::setLayout('app.view.layout');
    self::render('app.view.example', []);
}
Prev
Model и работа с ними
Next
Мультиязычность и словарь фраз