Вот мой код, как передавать данные с контроллера на макет
$arr = array();
$arr['layout'] = 'example';
$this->layout()->calllayout = $arr;
попробуй вот так
$this->layout()->setVariable('var', $data);
Перед ViewModel Написать serVariable с помощью $ this-> layout (), например:
$arr = array();
$arr['layout'] = 'example';
$this->layout()->setVariable('variableName', $arr);
и доступ к нему, как:
echo $this->variableName['layout'];