抱歉,如果标题有点混乱,但这是一个特定于CMS Concrete5的问题。
我正在工作的新闻/媒体相关的网站,其中包括一个主页,其中有3个独立的分页块,与一个布局,如模型所示的附件。
要使页面出现在功能页面列表(突出显示为绿色)中,它需要将页面属性is_featured设置为true。6块分页符(红色高亮显示)设置为显示所有页面,包括功能页面。两个异教徒都被设定为按日期订购,最新的显示在第一位。
我遇到的问题是,当内容作者发布一个新的页面时,我会立即复制6块页面列表左上角列出的相同页面。在大概一天左右的时间里,随着新的“非特色”内容的添加,“复制”页面问题在列表下移动到第二页(我已经为红色块分页)时,问题就少了。
我正在使用标准的Concrete5页面列表块,并且有自定义模板,这些模板只是针对各种列表的view.php文件(功能强大,6页和侧栏列表)。
为了消除复制,我尝试在6页模板的view.php中添加一些代码,这将“过滤掉”过去24小时内发布的任何功能页面。虽然这是可行的,但我发现,我是那时的6页页面,然后只显示5页,和一个空白的‘过滤’页面。
我的问题是,是否有一种干净、更好的方法来防止异教徒之间的重复?我不想设置分页者只显示某些类别(因此没有任何重叠),但是必须有一种方法来实现某种考虑到这个特定问题的东西?
发布于 2018-04-01 03:57:07
在您的"6项分页列表“页面列表块自定义模板中,在foreach ($pages as $page) {...}
循环上方添加以下代码。
$list->filterByIsFeatured(false);
$list->setItemsPerPage(6);
$pagination = $list->getPagination();
$pages = $pagination->getCurrentPageResults();
这样做是以现有的$list (具体\Core\ page \PageList对象)为基础,并从页面结果中获取6个没有功能的页面。应该通过重用$list来保留Page块表单中的选项、排序和筛选集。
在这里设置了$list对象:
https://stackoverflow.com/questions/49536845
复制相似问题