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

CakePHP:通过Paginator助手分页时,数据未发送到扩展视图,cakephp,pagination,cakephp-2.0,Cakephp,Pagination,Cakephp 2.0,我有一个显示结果的简单表格,在25条记录中分页。共有350个结果,接下来的1、2、3页导航链接非常适合分页我的数据。为了重新迭代,我使用标准Paginator组件和助手来创建这些分页链接 当我将相同的结果解析到.csv扩展视图和布局时,问题就出现了。如果我没有单击页码(因此我处于默认的前25条记录页面)并单击“导出到CSV”图标,则所有结果都会在我的CSV扩展视图中完美呈现,并且成功创建了我的CSV文件。然而,每当我呼叫时,它就不再接收结果,这很奇怪 例如:somehost.com/contro

我有一个显示结果的简单表格,在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视图


感谢您的帮助、建议和想法。

只是一个解决方法的建议:

控制器中可以有一个操作,该操作将页值作为参数,然后将其传递到查找:

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
));
}

您的目标是只让第5页显示125-150条记录导出到csv吗?@swiecki-是的,这是正确的。基本上,任何分页结果都会在它们看到时导出。我已经考虑过这一点,但我更愿意避免它,因为任何数据视图都可以直接发送到任何扩展。我想这就是使用扩展的想法。你的想法不错,而且确实可行。谢谢你。