我正在尝试整理代码,以便使用Expression Engine在我的博客中显示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 :(得分: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}