Zend Framework PartialLoop - 问题

时间:2010-03-05 03:19:12

标签: php zend-framework

好的处理部分循环我想做几件事

1-也许传递额外的变量 - 看到它像这样做

echo $this->partialLoop('Loop.phtml', array('data' => $data, 'var1' => foo));

但这似乎不起作用 - 我无法使用$this->var$this->data->var$data->var添加数据,而且我不确定如何访问循环中的数据

2-列的Sutotals - 我需要一种重置变量或传入默认值的方法 - 链接到上面我想

即。

$subtotal += rowTotal;

3-在调用partial的视图中,我希望能够访问生成的小计值,这样我就可以在下面的另一个表中显示它们。

任何帮助都赞赏partialLoop上的文档似乎不完整。

2 个答案:

答案 0 :(得分:0)

我只需要一些额外的代码即可完成。 partialLoop Helper对任何数组都很满意,所以你唯一需要做的就是循环将你的行集放在控制器中并将数据移动到一个新的数组中,你可以为每一行添加额外的变量。

然后将这个新数组传递给视图,最终传递给帮助者。

答案 1 :(得分:-1)

您无法将“额外”带外数据传递给PartialLoop帮助程序。第二个参数(模型)中的每个可迭代项都将循环。因此,如果在数组中为该帮助器指定了额外的内容,它将在循环中迭代并产生不合需要的输出。

要解决此问题,您可以在帮助程序中引用$ this-> view-> var。 $ this-> view始终引用调用视图,因此您可以在帮助程序中以任何方式访问任何视图变量。