在固定链接页面上使用ExpressionEngine的{category_name}?

时间:2011-06-21 17:00:00

标签: php html expressionengine

我需要帮助解决我在使用ExpressionEngine 2构建的网站上遇到的一个简单问题。

我有一个使用{title_permalink='product/view'}链接到“查看”页面的类别。在此页面上,我想创建一个链接,将用户“返回”到该类别(例如,返回玩具)。如何创建此链接?

例如,我认为这段代码可行:

{exp:channel:category_heading channel="project"}
    <p class="pfloatRight"><a href="#"> Back to {category_name}</a></p>
{/exp:channel:category_heading} 

但它没有,因为ExpressionEngine不知道该条目属于哪个类别。我尝试启用related_categories_mode但它没有帮助。

有什么想法吗?我知道这是一个简单的修复,我只是不习惯使用类别。

3 个答案:

答案 0 :(得分:0)

如果您只为产品分配了一个类别,则可以在channel:entries循环中执行此操作:

{categories limit="1"}
<p class="pfloatRight"><a href="{path="product/index"}">Back to {category_name}</a></p>
{/categories}

如果您为每个产品使用多个类别,那么您必须使用为您存储URL历史记录的加载项(或自定义代码)(如this one)并检索最后一个 - 那样访问了页面。

答案 1 :(得分:0)

您的代码看起来应该可以正常工作。您尝试执行此代码的URL是什么?

答案 2 :(得分:0)

如果您不介意输出所有类别的条目已分配到,您可以从产品视图固定链接页面提供“返回类别”链接。

将以下代码放在exp:channel:entries代码循环中:

<p class="pfloatRight">
    Back to
    {categories backspace="2"}
        <a href="{path="product/index"}">{category_name}</a>,
    {/categories}
</p>

会输出类似的内容:

<p class="pfloatRight">
    Back to <a href="#">Category Name</a>, <a href="#">Category Name</a>
</p>

您会注意到我将“返回”文本放在{categories}变量对之外,因此不会重复,并使用backspace parameter从最后一个类别中删除逗号。

明显的缺点是,如果为一个条目分配了多个类别,用户可能会很难记住他们导航的类别。

我认为大多数人习惯使用浏览器的后退按钮而不是任何页面上的链接,因此尝试确定他们来自的实际类别可能会提供很少的投资回报。

但是,即使这些“返回类别”链接不一定对用户有用,它们确实为可能从搜索结果登陆产品页面并希望查看同一类别中的更多项目的人员提供SEO优惠