Posted by iwamaru on December 22, 2010 at 9:16am
はじめまして。
Drupal初心者で、本サイトへも初めての投稿なので、わかりづらい箇所があると思いますがご了承ください。
以下のようなコンテンツを作成したいと考えていますが、
3つ目がうまくいきません。
①イベントを登録するためのコンテンツを作成したい。
②イベント登録時には、参加者をユーザから選択させたい。
③イベント一覧を表示する場合、各ログインユーザ毎に、自分が参加するイベントのみが表示されるようにしたい。
具体的には、以下のような設定を行っています。
①イベントというコンテンツタイプを作成。
②CCKにより「ユーザ参照」タイプで、ユーザを選択させる「参加者」フィールドを作成。
★★↓↓ここの設定方法を教えていただきたいと思います。★★
③VIEWSのフィルタの設定で、コンテンツの中から「参加者」にチェックを入れたところ、
ユーザ名が固定で表示されて、その中から選択しなければならないため、
ログインユーザ毎に表示する内容を変更することができない。
テキストフィールドみたいなものがあって、そこに「%user」的な変数を入れればうまくいくのでは?と思ったのですが、
ここでは、固定のユーザ名から選択するということしかできませんでした。
引数やリレーションシップに何かを設定することで解決するのでは?!とも思ったのですが、
うまくできませんでした。
解決策があればおしえていただきたいと思います。
恐れ入りますが、よろしくお願いします。
Comments
こんにちは、iwamaruさん VIEWSのフィルタの設
こんにちは、iwamaruさん
ログイン中のユーザーの絞り込みは自分も悩んだ記憶があります。
しかしよくViewsのフィルタの設定を見ると、
ユーザー: 現在
現在ログイン状態にあるユーザーでビューを絞り込みます。
という項目がありました。おお!なんてこった!
Twitterやっています。
http://twitter.com/jun784
Drupalつながりでよろしければ、フォローお願いします。
[ユーザー: 現在]を設定してみましたが…
jun784さん、コメントどうもありがとうございました。
[ユーザー: 現在]を設定したことにより、
自分のやりたいことに近づいた感触はありました。
ただ、その結果、以下のようになりました。
======【現状の状態】======
『[ログインユーザ]=[コンテンツの作成者]
の場合にのみ、
そのコンテンツが表示される。』
======【目指す状態】======
最終的にやりたいことは、
[コンテンツの作成者]ではなく、
『[ログインユーザ]=
[参加者]というフィールド(ユーザ参照タイプ)で設定されたユーザ
の場合にのみ、
そのコンテンツが表示される。』
ということです。
(例:システム管理者が、○○イベントというコンテンツを作成し、
その参加者として、AさんとBさんを設定したら、
AさんとBさん(とシステム管理者)のみ、
そのコンテンツが表示されて、
参加者ではないCさんには表示されないようにしたい。
現時点では、コンテンツ作成者である
システム管理者のみ表示される状態になっている。)
======【新たな挑戦に対する質問】======
現在は、[コンテンツ作成者]=[ログインユーザ]という設定になっているので、
ここをリレーションシップ等を使用することによって、
[参加者]=[ログインユーザ]に変更することが
できるのではないかと考えています。
具体的に以下の操作をしたところ、
うまくいきませんでしたが、
なにかヒント等あれば教えていただきたいと思います。
①リレーションシップに、[コンテンツ: 参加者] を追加。
([Require this relationship] にはチェックなし。[Delta:] は[すべて]を選択。)
②フィルタで[ユーザ:現在]を追加し、それに①で作成した[参加者]リレーションシップを設定。
([Is the logged in user:] には、[はい]を選択。)
→上記設定の結果、誰からも参照できなくなってしまいましたが…。
記述内容で不明点等あれば、詳細に記載しますので、
何でもよいので、引き続きコメントよろしくお願いします。
『[ログインユーザ]= [参加者]というフ
ご丁寧に説明していただいて、ありがとうございます!
取り急ぎの流れですが、
『[ログインユーザ]=
[参加者]というフィールド(ユーザ参照タイプ)で設定されたユーザ
の場合にのみ、
そのコンテンツが表示される。』
の場合は viewsのarugmentsで
ユーザー参照をしているフィールドを指定して
デフォルトの引数を使用から
User ID from logged in userを選択すれば
ログイン中かつ参照されているユーザーの場合のみコンテンツを表示できます。
Twitterやっています。
http://twitter.com/jun784
Drupalつながりでよろしければ、フォローお願いします。
ありがとうございます、できましたっ!!!!
jun784さん、わかりやすいコメントどうもありがとうございます。
説明どおりに設定したら、
希望どおり表示させることができました!!!!!!!
なるほど、ここでは、引数を利用して設定することができたのですね。
大変勉強になりました。
投稿して良かったです。
どうもありがとうございましたm(_ _)m☆★