expressionengine – 由作者显示标签云

我的网站有很多用户,每个用户都有自己的迷你网站.这个“迷你网站”的一部分是一个博客.我想为每位作者展示一个标签云. 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.

在我这样做之前,我想看看是否有更简单的方法或其他附加组件可以做到这一点.如果可行的话,我也欢迎任何关于这种插件方法的提示.

最佳答案 使用Tagger和查询模块,你应该能够得到你需要的东西(可能也是Solspace Tags,我只是没有用过那个,所以不能肯定地说).

像这样的查询

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}
点赞