При вызове метода getRender() несколько раз подряд, данные будут только при первом вызове.
$html1 = $view->getRender($section, $template, $data);
$html2 = $view->getRender($section, $template, $data);
var_dump($html1); // Valid string
var_dump($html2); // Empty string
Дабы исправить ситуацию, регистрируем сервис вольта немного иначе
$di->set('view', function() use ($config) {
$view = new \Phalcon\Mvc\View();
$view->setViewsDir(__DIR__ . $config->application->viewsDir);
// было
// $view->registerEngines(array(
// ".volt" => 'volt'
// ));
// стало
$view->registerEngines(array(
".volt" => function($view, $di) {
$volt = new \Phalcon\Mvc\View\Engine\Volt($view, $di);
$volt->setOptions(array(
"compiledPath" => "../cache/volt/",
));
return $volt;
}
));
return $view;
});