我想将资产功能用于我只使用Twig的项目中。 我试着用它,但php给我这个:
致命错误:未捕获的异常'Twig_Error_Syntax',消息'未知'资产“函数在”./Default/base.html.twig“
答案 0 :(得分:11)
解决方案在sensiolabs.org。
我在conf.php
中添加了这个:
//config/config.php
require_once('../vendor/autoload.php');
//twig
Twig_Autoloader::register();
$loader = new Twig_Loader_Filesystem('../app/views');
$twig = new Twig_Environment($loader);
$twig->addFunction(new \Twig_SimpleFunction('asset', function ($asset) {
// implement whatever logic you need to determine the asset path
return sprintf('../assets/%s', ltrim($asset, '/'));
}));
答案 1 :(得分:1)
那是因为Assetic本身就是一个独立的PHP库。
因此,要在twig中使用asset
,你需要安装捆绑包。
运行以下composer命令安装资产包。
composer require symfony/assetic-bundle
如果不安装独立包,twig就无法找到资产功能。