Twig 将变量重用为字符串

Twig 将变量重用为字符串,twig,Twig,这个问题可能有点傻,但我对symfony还是个新手。 通过这样做,我将一个变量从控制器传递到index.html.twig return $this->render('index/index.html.twig', [ 'department'=>$departments,'URILink'=>$URILink,'departmentDetail'=>$departmentDetails,'contentCell'=>$this->mContentCell

这个问题可能有点傻,但我对symfony还是个新手。
通过这样做,我将一个变量从控制器传递到
index.html.twig

 return $this->render('index/index.html.twig', [ 'department'=>$departments,'URILink'=>$URILink,'departmentDetail'=>$departmentDetails,'contentCell'=>$this->mContentCell ]);
使用
{%dump%}
后,它会显示

  "department" => array:3 [▶]
  "URILink" => "http://localhost/index/department/"
  "departmentDetail" => array:1 [▶]
  "contentCell" => "department.html.twig"
然后我需要在模板中将变量
contentCell
重用为字符串,以形成类似于此的语法

<div>{{ include ('department.html.twig'),[departmentDetail:departmentDetail]</div>
{{include('department.html.twig'),[departmentDetail:departmentDetail]
我第一次试过这个

<div> {{ include ({{ContentCell}}),[departmentDetail:departmentDetail]}} </div>
{{include({ContentCell}}),[departmentDetail:departmentDetail]}
不幸的是,它向我显示了这个错误

哈希键必须是带引号的字符串、数字、名称或表达式 用括号括起来(意外标记“{”值的“标点符号”)

你知道我怎么用这个变量吗
contentCell
作为字符串值是否合适?

尝试以下操作:

{% include contentCell  with { departmentDetail : departmentDetail} %}
回答这里

您可以根据以下内容包括类似的模板:

{{ include('YourBundle:ControllerName:yourAction.html.twig', {'variableName': yourData}) }}
或者像这样

试过之后,我终于找到了做这件事的诀窍

我用类似的类比来解释

{{dump(var)}}
所以试着这样做


它的工作方式很有魅力:)很好

不走运@alessandro它给我错误意外的标记“运算符”值“~”。尝试不使用~PleaseEyes,它可以包含department.html.twig,但有一个坏的副作用,它会将变量DepartmentDetail破坏为pass。这不会破坏任何内容,是一个有效的答案nope@Imanali mamamadiev我避免使用硬编码的模板名称,因为我的代码逻辑是“如果我不需要它,则不会显示任何模板”,这就是重用dynamic的方式c variableIn twig当您包含
模板
并传递数据时,您必须使用安全语法,例如,当传递数据时,您以json格式传递:
{'variableName':yourData}
如果有效,您可以接受您自己的答案,这样答案会向上移动。不,我已经回答了我自己的问题2次了,它阻止我点击接受标志OK,我不知道有关于自我接受答案的其他规则,请参阅
{{dump(var)}}
{{include (contentCell,{'departmentDetail' : departmentDetail})  }}