请保持温和......相对较新的PHP / Symfony / Twig ......
我有一个同事的代码,它对F5执行REST调用,并构建一个由结果集的子集组成的数组。该数组将有三个“列”和一行或多行。这是一个例子:
array(3) {
[0]=> array(3) {
["condition"]=> string(8) "Contains"
["uri"]=> string(10) "/1234/kkkl"
["pool"]=> string(50) "/Common/gateway-test-in-proc.domain.net_4041"
}
[1]=> array(3) {
["condition"]=> string(8) "Contains"
["uri"]=> string(34) "/portal_WS/1.0/authenticateMember"
["pool"]=> string(50) "/Common/gateway-test-in-proc.domain.net_4061"
}
[2]=> array(3) {
["condition"]=> string(9) "Ends With"
["uri"]=> string(20) "/Acknowledgement"
["pool"]=> string(50) "/Common/gateway-test-in-proc.domain.net_4011"
}
以下是填充数组中一行“数据”的Symfony / PHP代码行。该行位于循环内,将在数组中创建多行。
$twigdata[]=array('condition'=>$condition,'uri'=>$uri,'pool'=>$pool);
这是我想要渲染值的正文中的Twig代码片段。如果我执行print_r或vardump,我会看到数组内容很好。
{% for rulerecord in rulerecords %}
<tr class="detailRowClass">
<td class="conditionClass">{{ rulerecord.condition }}</td>
<td class="URIclass">{{ rulerecord.uri }}</td>
<td class="poolClass">{{ rulerecord.pool }}</td>
</tr>
{% endfor %}
Q值。为什么我只看到一个空白的浏览器页面?我错过了什么?
答案 0 :(得分:1)
一个。我找到了我的愚蠢错误的答案。 Twig代码很好。我错过了&#34;返回&#34;指示。这是呈现Twig的函数中的更正行:
返回$ this-&gt;渲染(&#39; netsecBundle:DataPower:datapower.html.twig&#39;,数组(&#39; rulerecords&#39; =&gt; $ twigdata));
答案 1 :(得分:0)
您是否检查过以确保在您的控制器中传递的变量名称$ twigdata被称为rulerecords?如果不更改for循环中的变量以匹配放入视图的控制器变量。
例如,尝试更改此内容:
$this->render('template_path', array('some_var' => $twigdata));
对此:
$this->render('template_path', array('rulerecords' => $twigdata));