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 个最近的作者。这就是我卡住的地方。有任何想法吗?

4

1 回答 1

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} 

于 2013-03-01T21:34:24.423 回答