【问题标题】:CakePHP items per page helper每页的 CakePHP 项目帮助程序
【发布时间】:2013-06-23 05:31:27
【问题描述】:

如何从分页助手生成一个包含每页项目的下拉列表?默认值是每页 20 个项目,我想得到这样的东西:

Show 
<select>
    <option value="10">10</option>
    <option value="25">25</option>
    <option value="50">50</option>
    <option value="100">100</option>
</select> 
entries

http://jsfiddle.net/HkWuH/

【问题讨论】:

    标签: cakephp cakephp-2.3


    【解决方案1】:

    正如@BigToach 提到的,我已将此添加到我的控制器中的方法中

    $this->paginate = array(
        'paramType' => 'querystring',
        'limit' => 30,
        'maxLimit' => 100
    );
    

    并将以下代码添加到我的视图中

    $limit = $this->params->query['limit'];
    $options = array( 5 => '5', 10 => '10', 20 => '20' );
    
    echo $this->Form->create(array('type'=>'get'));
    
    echo $this->Form->select('limit', $options, array(
        'value'=>$limit, 
        'default'=>20, 
        'empty' => FALSE, 
        'onChange'=>'this.form.submit();', 
        'name'=>'limit'
        )
    );
    echo $this->Form->end();
    

    【讨论】:

      【解决方案2】:

      每页的结果由分页数组中的'limit'参数驱动

      <?php
      $this->paginate = array(
          'paramType' => 'querystring',
          'limit' => 30,
      );
      ?>
      

      您可以通过将限制设置为查询字符串值来覆盖它。例如:

      ?limit=40
      

      从那里您只需要构建一个下拉菜单,当他们选择每页的数量时更改 URL。

      您可能还想实现maxLimit,这样用户就不会将此值更改为非常大的数字。

      【讨论】:

      • 谢谢,对我帮助很大!
      【解决方案3】:

      (这实际上只是对Warthel4578 的回答的评论,但我还没有足够的代表发表评论......只是想与遇到相同问题的任何人分享这个提示我有这个解决方案

      所以我在分页结果的初始页面加载时不断收到错误“未定义索引:限制”(在设置 $limit = $this-&gt;params-&gt;query['limit']; 的行上),尽管在更改下拉值和分页结果刷新后,错误消失了.

      代替$limit = $this-&gt;params-&gt;query['limit'];,我不得不在我的视图中使用它:

      $page_params = $this->Paginator->params();
      $limit = $page_params['limit'];
      

      【讨论】:

        【解决方案4】:

        我认为你可以使用:

        // Use the defaults.
        
        echo $this->Paginator->limitControl();
        

        更多信息在

        https://book.cakephp.org/3.0/en/views/helpers/paginator.html#creating-a-limit-selectbox-control

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多