首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Concrete5 -避免同一页上的多个页面列表中的重复

Concrete5 -避免同一页上的多个页面列表中的重复
EN

Stack Overflow用户
提问于 2018-03-28 14:11:29
回答 1查看 213关注 0票数 0

抱歉,如果标题有点混乱,但这是一个特定于CMS Concrete5的问题。

我正在工作的新闻/媒体相关的网站,其中包括一个主页,其中有3个独立的分页块,与一个布局,如模型所示的附件。

要使页面出现在功能页面列表(突出显示为绿色)中,它需要将页面属性is_featured设置为true。6块分页符(红色高亮显示)设置为显示所有页面,包括功能页面。两个异教徒都被设定为按日期订购,最新的显示在第一位。

我遇到的问题是,当内容作者发布一个新的页面时,我会立即复制6块页面列表左上角列出的相同页面。在大概一天左右的时间里,随着新的“非特色”内容的添加,“复制”页面问题在列表下移动到第二页(我已经为红色块分页)时,问题就少了。

我正在使用标准的Concrete5页面列表块,并且有自定义模板,这些模板只是针对各种列表的view.php文件(功能强大,6页和侧栏列表)。

为了消除复制,我尝试在6页模板的view.php中添加一些代码,这将“过滤掉”过去24小时内发布的任何功能页面。虽然这是可行的,但我发现,我是那时的6页页面,然后只显示5页,和一个空白的‘过滤’页面。

我的问题是,是否有一种干净、更好的方法来防止异教徒之间的重复?我不想设置分页者只显示某些类别(因此没有任何重叠),但是必须有一种方法来实现某种考虑到这个特定问题的东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-01 03:57:07

在您的"6项分页列表“页面列表块自定义模板中,在foreach ($pages as $page) {...}循环上方添加以下代码。

代码语言:javascript
运行
复制
$list->filterByIsFeatured(false);
$list->setItemsPerPage(6);
$pagination = $list->getPagination();
$pages = $pagination->getCurrentPageResults();

这样做是以现有的$list (具体\Core\ page \PageList对象)为基础,并从页面结果中获取6个没有功能的页面。应该通过重用$list来保留Page块表单中的选项、排序和筛选集。

在这里设置了$list对象:

list/controller.php#L225

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49536845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档