【问题标题】:Increment row number into the grid with Cygnite Framework pagination使用 Cygnite 框架分页将行号增加到网格中
【发布时间】:2026-01-13 12:45:01
【问题描述】:

我正在使用 Cygnite PHP 框架并使用 Cygnite CRUD 生成器生成 CRUD 应用程序。我在模型类中将分页限制更改为每页 10 个。

现在的问题是,

在第一页序列号显示为 1-10,但是当我点击下一页时,虽然记录不同,但它再次将序列号重置为 1-10。应该是(第二页)11-20。

我的查看页面:

<?php

if (count($this->records) > 0) {
    $i = 1;
    $rowType = null;
    foreach ($this->records as $key => $value) {

        $rowType = ($i % 2 == 0) ? 'even' : 'odd';
        ?>
      <tr class='<?php echo $rowType; ?>'>
          <td> <?php echo $i; ?></td>
           ..............
      </tr>

    }

}

?>

<div ><?php echo $this->links; ?> </div>

如何解决?

谢谢!

【问题讨论】:

    标签: php pagination


    【解决方案1】:

    希望下面的代码对你有所帮助。

    第一步:打开/apps/views/user/index.view.php

    第 2 步:在此页面内的视图页面顶部添加以下代码以包含。

    use Cygnite\Common\UrlManager\Url; 
    use Apps\Models\User; 
    
    $user = new User; 
    

    第 3 步:现在进入 if 条件

    if (count($this->records) > 0) { 
    

    将 $i 替换为以下代码。

    if (Url::segment(2) == '' || Url::segment(3) == '' || Url::segment(3) == 1 ) { 
        $i =1; 
    } else { 
        $i = (Url::segment(3) - 1) * $user->perPage + 1; 
    } 
    

    第 4 步:就是这样。现在运行应用程序,它将在网格中正确显示序列号。

    干杯!

    【讨论】: