2011-08-09 16 views
0

こんにちは私はEEを使用してSQLクエリに精通していないが、私はここに必要なものだと思う。アドバイスをいただければ幸いです。 私は基本的に各メンバーのギャラリーにリンクする典型的なグループギャラリーのホームページを作成しようとしていますが、すべてのチャンネルのエントリではなく、著者ごとに1つのリンクに制限する方法がわかりません。式エンジンSQLクエリ制限エントリ

{exp:channel:entries channel="portfolios" author_id="not 1"} 
<a href="{path=portfolios/gallery/{username}}"><img src="{avatar_url}" /></a><br> 
<a href="{path=portfolios/gallery/{username}}">{author}</a><br> 
{/exp:channel:entries} 

答えて

1

これはトリックを行う必要があります。 t.channel_id = 1をポートフォリオチャンネルの実際のchannel_idに置き換えてください。

これは、そのチャンネルにエントリを投稿したすべてのメンバーを一覧表示することです。 SQLクエリを実行しているので、{avatar_url}は準備されていないので、アバターフォルダーへのパスを騙してハードコードするだけです。

{exp:query sql=" 
    SELECT m.member_id, m.username, m.screen_name, m.avatar_filename 
    FROM exp_members m 
    LEFT JOIN exp_channel_titles t 
    ON t.author_id = m.member_id 
    WHERE t.channel_id = 1 
    GROUP BY m.member_id 
    ORDER BY m.screen_name ASC 
"} 
     <a href="{path=portfolios/gallery/{username}}"><img src="/images/avatars/{avatar_filename}" /></a><br> 
     <a href="{path=portfolios/gallery/{username}}">{screen_name}</a><br> 
{/exp:query} 
+0

ありがとうD-Rock-これを今すぐチェックします - 私が理解するのを助けることができますか?mは何故、exp_membersからですか?そしてM。また、tとt。 – mark

+0

Sure Mark - 'FROM table_name'ステートメントの直後に任意の文字や単語を追加すると、そのテーブルのエイリアスまたは参照が作成されます。列を参照する際に、より洗練されたSQLを書くのに役立ちます。だから 'm.member_id'は' exp_members'テーブルの 'member_id'カラムを参照し、' t.channel_id'は 'exp_channel_titles'テーブルの' channel_id'カラムを参照します。 –

+0

あなたが投稿したものを取得できませんでした動作しますが、ソートのこの作業 '{EXP:クエリのSQL = " ユーザ名ASC BY exp_members GROUP_ID = '5' ORDER FROM MEMBER_ID、ユーザ名、SCREEN_NAME、avatar_filename を選択"}持っている
​​3210
{/をexp:query} ' – mark