2015-05-29 31 views
0

我正在开发新闻栏目,这是我第一次使用ProcessWire。 我有以下代码: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篇文章。

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

有没有人有任何想法?

感谢, 格雷厄姆

回答

3

请头回official pagination documentation第一,确保仔细再通过它来阅读。

我想你已经错过了启用分页在你的模板:

确定要使用分页什么模板(S)。转至管理>设置>模板> [您的模板]>网址,然后选中:允许页码。保存。

Enable pagination for a template

现在你应该可以使用你的代码没有任何问题这个特定的模板。每次使用时使用$pages->find()且参数limit> 1会自动处理。