2013-02-25 19 views
0

我试图将代码放在一起,以使用表达式引擎在我的博客中显示3个最近的作者。在表达式引擎中显示最近的作者

这是一段代码,我开始有:

<dl class="authors"> 
    {exp:channel:entries channel="{embed:my_channel}" limit="3" dynamic="no" site="{embed:my_site}"} 
     <dt><span class="photo"><img src="{avatar_url}" width="{avatar_image_width}" height="{avatar_image_height}" alt="{author}'s Photo"></span></dt> 
     <dd>{author}</dd> 
    {/exp:channel:entries} 
</dl> 

现在,我不太清楚如何编写的事情是获得最后3名作家谁贴的条目。你看,最后的3个条目可能是由同一个作者发布的,在这种情况下,我们必须通过更多的条目才能获得其他2个最近的作者。这是我卡住的地方。有任何想法吗?

回答

0

这可以简单地用查询模块创建。我已经包括了如何结合查询来为作者提供自定义字段,如果你已经设置了这些:

注意:我没有测试此代码的具体细节(使用您的嵌入代码等) - 虽然我能够测试查询。

如果您没有(或想要)自定义成员字段数据,则可以从查询中删除这些行。

<dl class="authors"> 
{exp:query sql=" 
SELECT DISTINCT 
    exp_members.username, 
    exp_members.member_id, 
    exp_members.email, 
    exp_members.screen_name as author, 
    exp_members.avatar_filename, 
    exp_members.avatar_width, 
    exp_members.avatar_height, 
    exp_member_data.m_field_id_1 as my_custom_member_field 
FROM 
    exp_channel_titles, 
    exp_members, 
    exp_member_data 
WHERE 
    exp_members.member_id = exp_channel_titles.author_id 
    AND 
    exp_channel_titles.channel_id = '{embed:my_channel}' 
    AND 
    exp_members.member_id = exp_member_data.member_id 
    AND 
    exp_channel_titles.site_id = '{embed:my_site}' 
ORDER BY 
    exp_channel_titles.entry_id DESC" limit='3'} 
    <dt><span class="photo"><img src="{avatar_url}" width="{avatar_width}" height="{avatar_height}" alt="{author}'s Photo"></span></dt> 
    <dd>{author}</dd> 
{/exp:query} 

+0

对不起已故的答复,user2125185,但你把我在正确的轨道上。但是,我仍然没有得到我所追求的。 我不得不明确指定频道ID(1)来选择正确的频道,而不是频道名称,正如您在示例中所示。 我现在得到的问题是排序顺序不正确。所以,我想知道是否选择了正确的成员。为了澄清,我想选择在特定频道(我的博客频道的ID为1)中发布的最近3名成员,并且从最近发布的帖子的成员列出了最近发布的帖子的成员。 – steacha 2013-04-02 15:41:54