gpt4 book ai didi

expressionengine - 在动物园触发器列表中输出自定义类别字段

转载 作者:行者123 更新时间:2023-12-01 11:49:14 25 4
gpt4 key购买 nike

我有一个基于结构的站点,其中包含类别列表页面。例如:http://www.mysite.com/products/category/tools/hammers .当然,我正在使用 Zoo Triggers输出条目列表。

我的问题是每个类别列表页面都需要唯一的 SEO 元数据,因此我为标题、关键字和描述设置了自定义字段。遗憾的是,Zoo Triggers 没有用于自定义类别字段的变量,并且 {exp:channel:category_heading} 标记不适用于 Zoo Triggers URL。

我以为我可以使用神奇的 GWCode Categories plugin ,但我不知道如何只显示当前类别的数据。

有人对我如何实现这一目标有任何建议吗?谢谢。

最佳答案

这可能需要自定义查询。由于 EE 将其核心和自定义类别数据存储在单独的表中,这对于 native 查询模块来说有点笨拙,所以我倾向于使用 Rob Sanchez 的 ActiveRecord plugin .我没有对此进行过广泛的测试,但以下代码片段应该在大概范围内:

{exp:activerecord
select="d.field_id_1 as seo_field_one, d.field_id_2 as seo_field_two"
from="category_field_data as d"
join="categories as c"
on="c.cat_id = d.cat_id"
where[a]="c.cat_url_title = '{triggers:last_segment}'"
where[b]="c.group_id = '1'"
}
<p>Field one: {seo_field_one}</p>
<p>Field two: {seo_field_two}</p>
{/exp:activerecord}

如果您不是特别熟悉 CodeIgniter 的 Active Record 类,它会执行以下操作:

  • 根据列名称选择您的自定义类别字段,例如field_id_1,并创建别名以在您的模板中使用,例如{seo_field_one}
  • categoriescategory_field_data 表之间创建连接,以便我们可以根据类别表中的值检索 field_data 表中的数据。
  • 将结果集限制为 URL 标题与最后一个 URL 段匹配且属于类别组 1 的类别。

为了在您的模板中实现这一点,您需要调整选择语句,以便它从正确的列中检索数据,并调整 group_id 以匹配您的类别组。我假设您想要检索最后一个 URL 段的数据,但如果需要,您也可以轻松调整它。

关于expressionengine - 在动物园触发器列表中输出自定义类别字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13090660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com