有人可以解释吗?
在树枝中,我需要检测是否已加载某些控制器。取决于它,它应该显示一个HTML块或另一个。
我在树枝模板中有这个比较:
{% if app.request.attributes.get("_controller") == 'App\Controller\DefaultController::index' %}
即使控制器和操作实际上是“ App \ Controller \ DefaultController :: index”表达式,其结果也为false,表示打算在其他控制器上显示该块。
除了说明,我需要解决。
顺便说一句,当我打印控制器名称时,使用
{{ app.request.attributes.get("_controller") }}
我可以检查这种奇怪的行为。
问候 海梅
答案 0 :(得分:2)
Twig正在读取字符串中的反斜杠作为转义字符。要使其工作,您必须转义反斜杠。像这样:
'App\\Controller\\DefaultController::index'