2013-02-25 53 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