1
是否有可能在混凝土5中的URL中有某种分页方式。我看到很多CMS如Wordpress和Drupal等都具有这样的功能。混凝土5分页(页面列表博客)
此刻我的博客有以下几种:
/博客ccm_paging_p_b348 = 2
,我想这是对的方法是:
/博客/页/ 1 ... /博客/页/ 2等(或类似的东西)
任何提示或建议,将不胜感激
是否有可能在混凝土5中的URL中有某种分页方式。我看到很多CMS如Wordpress和Drupal等都具有这样的功能。混凝土5分页(页面列表博客)
此刻我的博客有以下几种:
/博客ccm_paging_p_b348 = 2
,我想这是对的方法是:
/博客/页/ 1 ... /博客/页/ 2等(或类似的东西)
任何提示或建议,将不胜感激
你唯一的选择就是为你的博客网页和创建自定义页面类型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; ?>
这是正确的答案。要添加一个更多的细节:你可以通过将这个定义添加到你的'config/site.php'文件中来将'ccm_paging_p' querystring arg改成别的东西(例如'page'或'p'):'define('PAGING_STRING', 'whatevs');' – 2015-01-02 19:40:49