CakePHP:通过Paginator助手进行分页时,数据未发送到扩展视图

时间:2011-12-06 08:44:20

标签: cakephp pagination cakephp-2.0

我有一个显示结果的简单表格,在25条记录中分页。有350个结果,下一个,1,2,3页导航链接可以完美地分页我的数据。为了重新迭代,我使用标准的Paginator组件和帮助程序来创建这些分页链接。

当我将相同的结果解析为我的.csv扩展视图&时出现问题。布局。如果我没有单击页码(所以我在默认的前25个记录页面上)并单击我的导出到CSV图标,所有结果都在我的csv扩展视图中完美呈现,并且我的CSV文件已成功创建。但是,每当我进行分页时,它都不再接收结果,这很奇怪。

例如:somehost.com/controller/action/1.csv会将所有记录发送到我的csv扩展视图,而somehost.com/controller/action/1/page:5.csv仍然会获取视图和csv扩展的布局,但数据为空。

我是否需要添加一些配置设置到Paginator组件/帮助器以使用不同的扩展布局和视图?毕竟,扩展(以及布局和视图)使用完全相同的控制器,MVC的想法是控制器应该将数据传递到我的csv视图,无论如何。

任何帮助,建议和想法总是受到赞赏。

1 个答案:

答案 0 :(得分:1)

只是建议解决方法:

您可以在控制器中执行一个操作,将页面值作为参数,然后将其传递给查找:

function csvgenerator($page){
$this->layout = 'csvlayout';
$this->set('variableForView',$this->Model->find('all',array(
    'conditions' => array('Model.field' => $thisValue), //array of conditions
    'order' => array('Model.field1 DESC'), //string or array defining order
    'limit' => n, //int
    'page' => $page //int
));
}