PHP 未捕获异常:"Twig_Error_Syntax"消息:"未知"asset"函数"。



我在php中使用MVC,我正在尝试使用twig作为模板引擎。我正在尝试使用资产来包含 css。但我遇到了一些错误。它不识别最屁股的功能。

我使用了以下代码:

我的核心基地:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}{% endblock %} </title>
<!-- <link href="../../vendor/style.css" rel="stylesheet"> -->
<link href="{{ asset('../../vendor/style.css') }}" type="text/css" rel="stylesheet" />
</head>
<body>
<nav>
<a href="/">Home</a>
<a href="/posts/index">Posts</a>
</nav>
{% block body %}
{% endblock %}
</body>
</html>

以下是扩展基本模板仪表板的视图:

{% extends "base.html" %}
{% block title %}Dashboard{% endblock %}
{% block body %}
<h1>Welcome User!</h1>
<a href="logout"><button>Logout</button></a>
{% endblock %}

但是我收到以下错误:

Uncaught exception: 'Twig_Error_Syntax'
Message: 'Unknown "asset" function.'

错误的完整堆栈跟踪如下: 堆栈跟踪:

#0 C:xamppappmvcvendortwigtwiglibTwigExpressionParser.php(364): Twig_ExpressionParser->getFunctionNodeClass('asset', 9)
#1 C:xamppappmvcvendortwigtwiglibTwigExpressionParser.php(152): Twig_ExpressionParser->getFunctionNode('asset', 9)
#2 C:xamppappmvcvendortwigtwiglibTwigExpressionParser.php(92): Twig_ExpressionParser->parsePrimaryExpression()
#3 C:xamppappmvcvendortwigtwiglibTwigExpressionParser.php(45): Twig_ExpressionParser->getPrimary()
#4 C:xamppappmvcvendortwigtwiglibTwigParser.php(123): Twig_ExpressionParser->parseExpression()
#5 C:xamppappmvcvendortwigtwiglibTwigParser.php(79): Twig_Parser->subparse(NULL, false)
#6 C:xamppappmvcvendortwigtwiglibTwigEnvironment.php(512): Twig_Parser->parse(Object(Twig_TokenStream))
#7 C:xamppappmvcvendortwigtwiglibTwigEnvironment.php(544): Twig_Environment->parse(Object(Twig_TokenStream))
#8 C:xamppappmvcvendortwigtwiglibTwigEnvironment.php(363): Twig_Environment->compileSource(Object(Twig_Source))
#9 C:xamppappmvcvendortwigtwiglibTwigTemplate.php(329): Twig_Environment->loadTemplate('base.html', NULL)
#10 C:xamppappmvcvendortwigtwiglibTwigEnvironment.php(373) : eval()'d code(11): Twig_Template->loadTemplate('base.html', 'User/dashboard....', 1)
#11 C:xamppappmvcvendortwigtwiglibTwigEnvironment.php(385): __TwigTemplate_6a4c151f517970c46aab3eedfdfea56b57d9fb29e4119bece3b41b9de1f71014->__construct(Object(Twig_Environment))
#12 C:xamppappmvcvendortwigtwiglibTwigEnvironment.php(288): Twig_Environment->loadTemplate('User/dashboard....')
#13 C:xamppappmvcCoreView.php(35): Twig_Environment->render('User/dashboard....', Array)
#14 C:xamppappmvcAppControllersUser.php(22): CoreView::renderTemplate('User/dashboard....')
#15 [internal function]: AppControllersUser->loginAction()
#16 C:xamppappmvcCoreController.php(25): call_user_func_array(Array, Array)
#17 C:xamppappmvcCoreRouter.php(100): CoreController->__call('login', Array)
#18 C:xamppappmvcpublicindex.php(57): CoreRouter->dispatch('user/login'

我不知道现在该怎么办。谁能帮我?我如何使用assest或是否有任何替代wy来包含我的css和js。

你可以在教程中找到asset函数是由Symfony添加的,而不是内置在twig本身中。

你可以在它的文档中看到twig自己的函数。(链接适用于 twig2,不确定您使用的是什么。

最新更新