drrkgbm6851 2017-07-20 15:40
浏览 103

PHP未捕获异常:'Twig_Error_Syntax'消息:'未知'资产“功能”。

I'm using MVC in php and i'm trying to use twig as templating engine. I'm trying to use asset for including css. But i'm facing some errors. It doesnot recognize assest function.

I have used following code:

My core base:

<!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>

Following is the view that extends the base template, dashboard:

{% extends "base.html" %}

{% block title %}Dashboard{% endblock %}

{% block body %}

    <h1>Welcome User!</h1>
    <a href="logout"><button>Logout</button></a>

{% endblock %}

But i'm getting following error:

Uncaught exception: 'Twig_Error_Syntax'

Message: 'Unknown "asset" function.'

Full stack trace of the error is below: Stack trace:

#0 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\ExpressionParser.php(364): Twig_ExpressionParser->getFunctionNodeClass('asset', 9)
#1 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\ExpressionParser.php(152): Twig_ExpressionParser->getFunctionNode('asset', 9)
#2 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\ExpressionParser.php(92): Twig_ExpressionParser->parsePrimaryExpression()
#3 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\ExpressionParser.php(45): Twig_ExpressionParser->getPrimary()
#4 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\Parser.php(123): Twig_ExpressionParser->parseExpression()
#5 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\Parser.php(79): Twig_Parser->subparse(NULL, false)
#6 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\Environment.php(512): Twig_Parser->parse(Object(Twig_TokenStream))
#7 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\Environment.php(544): Twig_Environment->parse(Object(Twig_TokenStream))
#8 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\Environment.php(363): Twig_Environment->compileSource(Object(Twig_Source))
#9 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\Template.php(329): Twig_Environment->loadTemplate('base.html', NULL)
#10 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\Environment.php(373) : eval()'d code(11): Twig_Template->loadTemplate('base.html', 'User/dashboard....', 1)
#11 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\Environment.php(385): __TwigTemplate_6a4c151f517970c46aab3eedfdfea56b57d9fb29e4119bece3b41b9de1f71014->__construct(Object(Twig_Environment))
#12 C:\xampp\app\mvc\vendor\twig\twig\lib\Twig\Environment.php(288): Twig_Environment->loadTemplate('User/dashboard....')
#13 C:\xampp\app\mvc\Core\View.php(35): Twig_Environment->render('User/dashboard....', Array)
#14 C:\xampp\app\mvc\App\Controllers\User.php(22): Core\View::renderTemplate('User/dashboard....')
#15 [internal function]: App\Controllers\User->loginAction()
#16 C:\xampp\app\mvc\Core\Controller.php(25): call_user_func_array(Array, Array)
#17 C:\xampp\app\mvc\Core\Router.php(100): Core\Controller->__call('login', Array)
#18 C:\xampp\app\mvc\public\index.php(57): Core\Router->dispatch('user/login'

I don't know what to do now. Can anyone help me? How can i use assest or are there any alternative wy to include my css and js.

  • 写回答

1条回答

  • dongqia0240 2017-07-20 16:53
    关注

    The asset function you may find in tutorials is one added by Symfony, not built into twig itself.

    You can see twig's own function in its documentation. (Link is for twig2, not sure what you're using.)

    评论

报告相同问题?

悬赏问题

  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏