La función Twig devuelve una plantilla

¿Es posible que una función de ramita devuelva una plantilla de ramita?

Por ejemplo

class ToTimeExtension extends \Twig_Extension { public function getFunctions() { return array( 'totime' => new \Twig_Function_Method($this, 'toTime') ); } public function toTime ($string) { $time = strtotime($string); return {"time.html.twig", $time}; //return a twig template and pass $time variable } } 

time.html.twig

 

{{time}}

Uso

 {{ totime('now') }} 

Puede acceder al entorno Twig si establece las opciones adecuadas. Luego puedes renderizar otra plantilla dentro del método.

 class ToTimeExtension extends \Twig_Extension { public function getFunctions() { return array( 'totime' => new \Twig_Function_Method($this, 'toTime', ['needs_environment' => true,]) ); } public function toTime (Twig_Environment $twig, $string) { return $twig->render('time.html.twig', [ 'time' => strtotime($string),]); } }