2014-10-30 29 views
1

是否有可能在混凝土5中的URL中有某种分页方式。我看到很多CMS如Wordpress和Drupal等都具有这样的功能。混凝土5分页(页面列表博客)

此刻我的博客有以下几种:

/博客ccm_paging_p_b348 = 2

,我想这是对的方法是:

/博客/页/ 1 ... /博客/页/ 2等(或类似的东西)

任何提示或建议,将不胜感激

回答

1

你唯一的选择就是为你的博客网页和创建自定义页面类型n为处理分页的定制控制器。

请参阅此页: http://www.concrete5.org/documentation/developers/pages/mvc-approach

,特别是“网页类型”一节下的“控制器”。它解释了如何创建页面类型控制器。对于他们来说,您可以创建与普通单页相似的功能,因此您可以根据从URL获取的参数对结果进行分页。

这个例子是5.6和更早的版本:

<?php 
class BlogPageTypeController extends Controller { 

    public function view($page=1) { 
    $pageIndex = intval($page)-1; 
    if ($pageIndex < 0) { 
     $pageIndex = 0; 
    } 

    $pageList = new PageList(); 
    $pageList->setItemsPerPage(25); 
    $this->set('pages', $pageList->getPage($pageIndex)); 
    } 

} 

然后你可以使用$pages变量在你看来要经过网页:

<?php foreach($pages as $page) : ?> 
    <h2><?php echo $page->getCollectionName()</h2> 
<?php endforeach; ?> 
+0

这是正确的答案。要添加一个更多的细节:你可以通过将这个定义添加到你的'config/site.php'文件中来将'ccm_paging_p' querystring arg改成别的东西(例如'page'或'p'):'define('PAGING_STRING', 'whatevs');' – 2015-01-02 19:40:49