0

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 つの最新の作成者を取得するには、さらに多くのエントリを調べる必要があります。これは私が立ち往生しているところです。何か案は?

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 に答える