我想用Mustache替换symfony1.4的默认模板。令我惊讶的是,我无法通过Google搜索找到相关方法。
然后,我想我可以用简单的方式做到这一点。
public function executeIndex(sfWebRequest $request)
{
include('/path/to/Mustache.php');
$m = new Mustache();
echo $m->render('Hello {{planet}}', array('planet' => 'World!'));
return sfView::NONE;
}
这看起来很笨拙。主要问题是:
胡须模板的存放位置(我的情况下是'Hello {{planet}}')?
是否可以替换默认的View Handler?这样我就可以把胡子模板放在模板文件夹中并且对行动透明了吗?
由于
答案 0 :(得分:5)
我认为实现它的最佳方法是创建一个新的sfView
实现。目前,sfPhpView
是呈现输出的默认类。您可以扩展此类,并使用Mustache进行渲染。
您可以查看sfSmartyPlugin,了解他们如何实施Smarty模板引擎......
答案 1 :(得分:2)
也许你可以看看树枝。它类似于musatche,并与symfony公平整合(twig由symfony的创建者Fabien Potencier制作)。 这是symfony 1.x的插件:https://github.com/henrikbjorn/sfTwigPlugin