我的网站有很多用户,每个用户都有自己的迷你网站。这个“迷你网站”的一部分是一个博客。我想为每位作者展示一个标签云。 Tag和Tagger的基本云功能将执行此操作,但适用于所有作者。添加author_id不起作用。
我尝试使用频道条目循环来获取作者的所有条目,然后显示与这些条目相关联的标签。
{exp:channel:entries author_id="1" channel="blog"}
{exp:tag:tags entry_id="{entry_id}"}
<li>{title}<a href="#">{tag_name}</a><span>{total_entries}</span></li>
{/exp:tag:tags}
{/exp:channel:entries}
这确实为我提供了一个只有作者使用的标签列表(在Tag中,它在Tagger中不起作用)。但是,如果标签被多次使用,它将不止一次地列出它。
原生EE和标签功能不会让我做我想做的事。我可能需要使用php(一个插件)来做到这一点。获取作者使用的所有标记,将它们放入数组中,删除重复项,然后将其输出到我的模板中。我在Solspace发帖,但他们说我需要使用PHP。
在我这样做之前,我想看看是否有更简单的方法或其他附加组件可以做到这一点。如果可行的话,我也欢迎任何关于这种插件方法的提示。
答案 0 :(得分:1)
不幸的是,我认为你唯一的选择是自定义PHP来删除重复项。
答案 1 :(得分:1)
使用Tagger和查询模块,你应该能够得到你需要的东西(可能也是Solspace标签,我只是没有用过那个,所以不能肯定地说)。
像这样的查询
SELECT tag_name
FROM exp_tagger
WHERE author_id = 7
为该作者提供一组标签。
您可以像这样使用查询模块,使用当前条目的author_id
作为查询的动态部分。
{exp:query sql= "SELECT tag_name FROM exp_tagger WHERE author_id = {author_id}"}
{tag_name}
{/exp:query}