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

时间:2011-07-06 13:55:16

标签: php html categories expressionengine

好的,Expression Engine的另一个问题。我知道的很好,但我只是在学习类别!

我一直在寻找这个答案,但只能找到相同的东西。我需要在title_permalink页面上有一个下一个按钮,该按钮将转到该类别中的下一个条目。我知道如何手动指定一个类别,但这不会起作用,因为它只会给我这个类别的条目!我需要一种方法让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_permalink标记链接到此处

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

默认的ExpressionEngine Next/Previous Entry Linking Tag Pairs允许您根据当前条目的日期生成指向下一个或上一个条目的链接。

然而,最大的限制是,在限制或过滤带有多个类别的条目时,它们不那么强大。

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

{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}标记对时,上一个/下一个链接将默认为第一个类别输出...可能与下一个或上一个条目的类别顺序不同

对于更强大的解决方案,您会发现有许多第三方解决方案on Devot-ee for entry linking

我最喜欢的两个用于处理链接条目的插件是Adam Khan的Nearby Entries和Laisvunas的Entries List