【问题标题】:is it possible to paginate next and previous links to load page at a specific div是否可以分页下一个和上一个链接以在特定 div 加载页面
【发布时间】:2025-12-09 12:55:01
【问题描述】:

一定要把问题说清楚,说清楚让我详细说明;我需要实现的是我有一个分页正在向前工作的页面,当我对页面进行分页时,页面会转到页面顶部,因为它确实刷新了,但我需要它留在分页链接的 div处于。分页内容所在的内容区域,可能看起来页面没有加载,只有内容被更新。 一定要明白这一点。

代码如下:

<div class="large-12 columns" id="paginate" style="border-right: 1px solid #E3E5E8; height: 572px;">
    <article>
        <hr><div class="row">
            <div class="large-6 columns">
        <?php
        //stories complete do not edit. 
            foreach($stories as $story){

                echo '
                <p>'.$this->Html->image($story['image'].'.jpg', ['alt'=>'image for article']).'</p>
                </div>
                <div class="large-6 columns">
                <h5><a href="#">'.$story['title'].'</a></h5>
                <p>
                <span><i class="fi-torso"> Creator: '.$story['creator'].' &nbsp;&nbsp;</i></span>
                <span><i class="fi-calendar"> '.$story['created'].' &nbsp;&nbsp;</i></span>

                </p>
                <p>'.$story['story'].'</p>';

                //same place after pagination
                //
            }

        ?>

            </div>

                <div style="padding: 2px;float: left;margin-top: 31%;margin-left: -1206px;">
                    <ul class="pagination" role="navigation" aria-label="Pagination">
                        <li><?php echo $this->Paginator->prev(' < ' . __(''));?></li>
                        <li><?php echo $this->Paginator->numbers();?></li>
                        <li><?php echo $this->Paginator->next(' > ' . __(''));?></li>
                    </ul>
                </div>
            </div><hr>

        </article>
    </div>

根据代码和早期的 Cakephp 代码,我们能够使用分页器添加到 div 的链接,它会将我们直接带到特定的 div,我无法弄清楚使用 cakephp-4.x 执行此操作的语法所以善待并以最少的代码提供最佳解决方案。

【问题讨论】:

标签: php html css zurb-foundation cakephp-4.x


【解决方案1】:

我找到了解决问题的方法。这比任何其他从互联网上可以找到的解决方案都具有建设性。我将描述代码并放置代码 sn-p,以便每个人和任何人都可以通过阅读我的代码 sn-p 来做到这一点。

首先声明特定模型的分页。之后初始化分页器代码 sn-p。完成上述操作后,将分页器加载并查询到给定模型。 之后设置变量以及紧凑。

在模板端,请确保您已遵循上述过程,所有给定的代码将在控制器端分配并自动在模板端工作。我将模板的代码放在 sn-p 的底部,好好阅读并在控制器和模板之间有请求和响应的任何地方实现你的代码。

将以下代码放入控制器:

    public $paginate = [

        'Stories' => ['scope' => 'story',
                      'limit' => 1,
                      ]
    ];


    public function initialize(): void
    {
        parent::initialize();
        $this->loadComponent('Paginator');
    }

    public function index()
    {

        // Paginate property
        $this->loadComponent('Paginator');

        $stories = $this->paginate($this->Stories->find('all', ['scope' => 'story']));
        $this->set(compact('employers'));
    }

下面的模板代码:

<div class="column" id="success_story">
    <hr>
    <h4 style="margin: 0;" class="text-center">SUCCESS STORIES</h4>
    <hr>
</div>

<?php
  //stories complete do not edit. 
  foreach($stories as $story){

    echo '
    <p>'.$this->Html->image($story['image'].'.jpg', ['alt'=>'image for article']).'</p>
    </div>
    <div class="large-6 columns">
    <h5><a href="#">'.$story['title'].'</a></h5>
    <p>
    <span><i class="fi-torso"> Creator: '.$story['creator'].' &nbsp;&nbsp;</i></span>
    <span><i class="fi-calendar"> '.$story['created'].' &nbsp;&nbsp;</i></span>

    </p>
    <p>'.$story['story'].'</p>
    ';
  }
?>

<div style="padding:0px;margin:0px;margin-bottom: -35px;">
  <ul class="pagination" role="navigation" aria-label="Pagination">
    <li><?php echo $this->Paginator->prev(' < ' . __(''));?></li>
    <li><?php echo $this->Paginator->next(' > ' . __(''));?></li>
  </ul>
</div>

将success_story(div) 的链接作为#(indicator) 放置

【讨论】:

    最近更新 更多