0

我正在开发一个新闻栏目,这是我第一次使用 ProcessWire。我有以下代码:

                <?php
                $articles           = $page->children("limit=2");

                if(!empty($articles)):        
                    foreach($articles as $article):
            ?>

                <div class="news-article">

                    <div class="row">
                        <div class="small-12 medium-12 large-9 columns">
                            <a href="<?php echo $article->url;?>"><h3 style="padding-bottom: 15px;"><?php echo $article->title;?></h3></a>
                            <?php echo substr($article->body, 0, 375); ?>...
                            <p><a href="<?php echo $article->url;?>">Read full story &gt;</a></p>
                        </div>
                        <div class="small-12 medium-12 large-3 columns">
                            <img src="<?php echo $article->images->url . $article->images; ?>" style="margin: 20px 0 20px 0;" />
                        </div>
                        <div style="clear: both;"></div>
                    </div>

                </div>

                <style>
                .news-article {
                    padding:                20px 0 0 0;
                    margin:                 20px 0 20px 0;
                }
                </style>

            <?php 
                    endforeach;
                else:
                    echo "<h3>No articles found</h3>";
                endif;

                $pagination = $articles->renderPager();
                echo $pagination;
            ?>

我的问题是分页正确显示了 2 个页面链接,但单击第二页显示第 2 页和前 2 篇文章。

我假设我必须修改我的文章显示代码以考虑我所在的页面,但我不确定如何去做。

有没有人有任何想法?

谢谢,格雷厄姆

4

1 回答 1

6

请先返回官方分页文档,并确保再次仔细阅读。

我想您错过了在模板中启用分页:

确定要使用分页的模板。转到管理 > 设置 > 模板 > [您的模板] > URL,然后选中复选框:允许页码。节省。

为模板启用分页

现在,您应该能够使用您的代码,而不会对这个特定模板产生任何问题。每次使用参数 >1 时都会自动处理$pages->find()limit

于 2015-06-15T20:38:05.120 回答