【问题标题】:Getting current page in CakePHP pagination在 CakePHP 分页中获取当前页面
【发布时间】:2017-01-09 03:44:19
【问题描述】:

在我的一个网页上,我显示了带有默认分页 [Paginator helper] 的客户详细信息列表。每个客户行都有一个相应的“编辑”按钮,单击该按钮会显示一个填充了该客户信息的 DIV。 [此 DIV 有文本框等,我可以在其中更改客户信息] 重新输入/修改客户详细信息后,当我单击“保存”按钮时,会进行 2 个 ajax 调用..

  1. 第一个保存编辑的记录
  2. 第二个使用修改后的信息更新同一页面上的客户列表

我的问题:如果我在第 3 页并编辑一条客户记录,第二次 ajax 调用会刷新列表但不会转到第 3 页。它从第 1 页开始。

请帮忙。

【问题讨论】:

  • 你能展示你用来做这个的代码吗?

标签: cakephp


【解决方案1】:

您可以在此处获取当前页面:

<?php echo $this->Paginator->counter(array(
    'format' => ('{:page}')
      )); ?>

这是解决方案的一部分。 :)

【讨论】:

    【解决方案2】:

    您可以在此处获取当前页面:

    $this->request->params['named']['page']
    

    【讨论】:

      【解决方案3】:

      您是否尝试使用 Paginator 中的链接?它将页面 # 维护到控制器。

      类似

      // same parameters as $this->Html->link
      <?php echo $this->Paginator->link( ... ) ?>
      

      还要检查reference documentation for the Paginator Helper

      【讨论】:

        【解决方案4】:

        我使用 jquery / javascript 将页面存储在 cookie 上,然后从控制器读取它。

        // --------------------------------------------- ----------------------------------------

        //点击记住当前页面

        $('td.actions').click( function( event )
        {
            var page = $('li.active a').html();
            var name = window.location.href.split('-').join('_').split('/').pop();
        
            $.cookie.raw = true;
            $.cookie( 'CakeCookie[' + name + '_page]', page, { expires: 365, path: '/' } );
        
        });
        

        【讨论】:

          猜你喜欢
          • 2011-08-14
          • 1970-01-01
          • 2011-05-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-04
          • 2013-04-17
          • 1970-01-01
          相关资源
          最近更新 更多