Symfony Twig中RoutingExtension::getPath()参数类型错误咨询
报错原因
报错和CSS完全无关,是Twig模板中路由生成函数的调用语法错误:
Symfony的path()函数接收两个参数,第一个是路由名称,第二个必须是关联数组,用来传递路由定义中的占位符参数。你在导航栏的链接里写了{{ path('core_olympiades','c_est_quoi') }},直接把字符串'c_est_quoi'作为第二个参数传入,不符合函数要求的参数类型,就触发了这个报错。注释掉导航栏代码后path()调用被去掉,自然就没有报错了。
解决方法
把导航栏中对应的path()调用改为传入关联数组即可:
{# 修改前 #} <a class="nav-link" href="{{ path('core_olympiades','c_est_quoi') }}">Les Olympiades de Physique France</a> {# 修改后 #} <a class="nav-link" href="{{ path('core_olympiades', {'choix': 'c_est_quoi'}) }}">Les Olympiades de Physique France</a>
额外注意点
- 你控制器中路由的路径定义建议修改:当前写的是
@Route("/core/olympiades,{choix}",路径中使用逗号分隔路由名和参数不符合常规写法,建议改为斜杠分隔:@Route("/core/olympiades/{choix}" - 你的
texte字段存储的是HTML内容,在Twig中输出时需要加raw过滤器,否则HTML标签会被转义成纯文本:{{ texte|raw }}
内容的提问来源于stack exchange,提问作者D.Picard
相关产品推荐
相关产品推荐

