有没有办法在 Symfony2 中使用 Volt 模板?
Is there a way to use Volt templates in Symfony2?
我正在开发一个系统,其中 Phalcon 服务器负责站点前端,而 Symfony2 服务器负责内容管理。内容管理器包含一个 WYSIWYG 编辑器,因此使用与前端相同的布局和样式显示内容。我意识到 Volt 和 Twig 非常相似,但是包含和块之类的东西具有特定的语法或限制。我们可以用一种完全兼容的方式来创建我们的 templates/themes,但那样不会很灵活。
有没有办法在 Symfony2 中使用 Volt 模板?或者自动转换模板的实用方法(这里不能手动转换)?
我认为在您的特定用例中,最实用的方法是将 Twig 与 Phalcon 结合使用。在您的 DI 中,您可以为此加载不同的引擎,请参阅 Phalcon Incubator project for the Twig-adapter.
简而言之,它归结为使用(在将孵化器添加到您的项目之后,例如使用 Composer):
$view->registerEngines(
array(".twig" => 'Phalcon\Mvc\View\Engine\Twig')
);
而不是
$view->registerEngines(array(
".volt" => 'Phalcon\Mvc\View\Engine\Volt'
));
link 描述了更完整的分步指南。
我正在开发一个系统,其中 Phalcon 服务器负责站点前端,而 Symfony2 服务器负责内容管理。内容管理器包含一个 WYSIWYG 编辑器,因此使用与前端相同的布局和样式显示内容。我意识到 Volt 和 Twig 非常相似,但是包含和块之类的东西具有特定的语法或限制。我们可以用一种完全兼容的方式来创建我们的 templates/themes,但那样不会很灵活。
有没有办法在 Symfony2 中使用 Volt 模板?或者自动转换模板的实用方法(这里不能手动转换)?
我认为在您的特定用例中,最实用的方法是将 Twig 与 Phalcon 结合使用。在您的 DI 中,您可以为此加载不同的引擎,请参阅 Phalcon Incubator project for the Twig-adapter.
简而言之,它归结为使用(在将孵化器添加到您的项目之后,例如使用 Composer):
$view->registerEngines(
array(".twig" => 'Phalcon\Mvc\View\Engine\Twig')
);
而不是
$view->registerEngines(array(
".volt" => 'Phalcon\Mvc\View\Engine\Volt'
));
link 描述了更完整的分步指南。