表达式引擎-特定类别中的下一个条目


Expression Engine - Next entry in specific category?

好,表达式引擎的另一个问题。我很清楚,但我只是在学习分类!

我到处找这个答案,但只能找到相同的答案。我需要在title_permink页面上有一个下一个按钮,该按钮可以转到该类别中的下一个条目。我知道如何手动指定类别,但这不起作用,因为它只会给我该类别的条目!我需要一种方法让ee知道条目在什么类别中。我的代码现在很简单,它是:

{exp:channel:next_entry}<a href="{path='projects-test/view'}" style="color:#fff;">Next Project</a>{/exp:channel:next_entry}

我可以添加category_id="2",但当一个人进入一个不是2的类别时,会发生什么,他们都使用相同的视图模板。

我的结构如下:

类别选择页面-使用Category_name标记的类别列表
项目列表页面-使用channel:entries标签链接到此处
项目视图页面-通过title_permink标签链接到此处

谢谢你的帮助!

默认的ExpressionEngine下一个/上一个条目链接标记对允许您根据当前条目的日期生成到下一个或上一个条目的链接。

然而,最大的限制是,当涉及到限制或筛选具有多个类别的条目时,它们没有那么健壮。

如果您的需求很简单,您可以使用以下代码将上一个/下一个链接限制为显示当前条目类别中的条目:

{exp:channel:entries channel="channel_name"}
    ...
    {exp:channel:prev_entry category="{categories}{category_id}|{/categories}"}
        &laquo; <a href="{id_path=template_group/template}">Previous</a>
    {/exp:channel:prev_entry}
    {exp:channel:next_entry category="{categories}{category_id}|{/categories}"}
        <a href="{id_path=template_group/template}">Next</a> &raquo;
    {/exp:channel:next_entry}
    ...
{/exp:channel:entries}

您会注意到{exp:channel:prev_entry}{exp:channel:next_entry}链接嵌套在{exp:channel:entries}标记中,并使用{categories}标记对将"下一个/上一个"链接限制为当前条目的类别。

然而,请注意,当条目使用单个类别进行分类时,此代码效果最佳

否则,当将{categories}标记对与具有多个类别的条目一起使用时,上一个/下一个链接将默认为第一个类别输出。。。其可以不同于下一个或上一个条目的类别顺序。

对于更强大的解决方案,您会发现Devot ee上有许多用于入口链接的第三方解决方案。

我最喜欢的两个处理链接条目的插件是Adam Khan的附近条目和Laisvunas的条目列表。