将变量重用为字符串

时间:2017-08-08 08:27:27

标签: twig

这个问题可能有点傻,但无论如何我都是symfony的新手 prescenario 我通过执行此操作将控制器中的变量传递给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>

对于我的第一次尝试,我试过了,

<div> {{ include ({{ContentCell}}),[departmentDetail:departmentDetail]}} </div>

不幸的是它向我展示了这个错误

  

哈希键必须是带引号的字符串,数字,名称或表达式   括在括号中(意外的标记&#34;标点符号&#34;值&#34; {&#34;。

我知道如何使用变量 contentCell作为字符串值适当吗?

3 个答案:

答案 0 :(得分:1)

试试这个:

{% include contentCell  with { departmentDetail : departmentDetail} %}

答案 1 :(得分:1)

在这里回答pass data to twig

您可以按照以下方式添加这样的模板

{{ include('YourBundle:ControllerName:yourAction.html.twig', {'variableName': yourData}) }}

或者像http://twig.sensiolabs.org/doc/tags/include.html

这样
{% include 'template.html' with {'foo': 'bar'} %}

答案 2 :(得分:1)

  经过最后的尝试,我发现了如何做到的诀窍

我对

采取了类似的比喻
{{dump(var)}}
  

所以尝试这样做

{{include (contentCell,{'departmentDetail' : departmentDetail})  }}

它就像魅力一样好:)