1

Drupal 7.12 と Views 3.3 を使用しています。ビュー ブロックを作成してページに配置し、一連のカスタム プロファイル フィールドに追加した現在ログインしているユーザー情報を表示したいと考えています。フィールドを作成しました。ビューが問題です。

プロファイル フィールドの内容を表示する Views ブロックを作成できましたが、次のリストが作成されます。これらのフィールドにデータを入力したユーザーごとに 1 つのデータ ブロックが作成され、全員に表示されます。現在ログインしているユーザーに自分のデータを表示したいだけです。

"User: Current" のフィルターを追加するという言及がいくつか見つかりましたが、このブロックにはこのオプションがありません。すると、こんな商品を見つけました。

Drupal 7 ビュー 3 ユーザー:現在のフィルターが見つかりませんか?

最初に「コンテンツ: 作成者」の関係を追加する必要があると言ってから、「ユーザー: 現在」フィルターを追加できます。これもできませんでした。

そこで、新しい Views ブロックを作成して、これらのオプションが利用できない理由を理解できるかどうかを確認することにしました。新しいビュー ブロックを作成するとき、最初に行うことの 1 つは「表示」するものを選択することです。「コンテンツ」オプションがあり、「プロファイル」オプション (およびその他のいくつか) がありますが、方法はありません。ここで複数のオプションを選択します。コンテンツを表示するために「プロファイル」を選択する前に作成した最初のビューブロックで、これによりコンテンツまたはその他に関連するすべてのオプションが削除されます。これが、「コンテンツ: 作成者」の関係を作成できない理由です。私はコンテンツのノードを扱っていません。これをテストするために 2 つ目の Views ブロックを作成したとき、「Show: Content」を選択し、「Content: Author」関係を作成できました。そして、「ユーザー:現在」フィルターを追加できました。しかし、この Views ブロックでは、プロファイル フィールド情報を表示する方法がありません。

ここで何か助けていただければ幸いです。

2012 年 5 月 2 日: 「プロファイル」ベースのビュー ブロックで利用可能なフィルターと関係の設定に関する情報を追加。

フィルタ オプション:

*プロファイル: 変更日 - プロファイルが最後に更新された日付。

*プロファイル: 作成日 - プロファイルが作成された日付。

*プロファイル: ラベル - プロファイル ラベル。

*プロファイル: 場所 (field_location_us) - 次の場所に表示されます: profile2:main。

*Profile: Primary Issue (field_issue_area_primary) - 次の場所に表示されます: profile2:main。

*プロファイル: プロファイル ID - プロファイルの一意の ID。

*プロファイル: 総運用予算 (field_total_op_budget) - 次の場所に表示されます: profile2:main。

*プロファイル: 総組織スタッフ (field_total_staff) - 次の場所に表示されます: profile2:main。

*プロファイル: 総技術スタッフ (field_staff_tech) - 次の場所に表示されます: profile2:main。

*プロファイル: 総技術/IT 予算: (field_budget_tech_total) - プロファイル 2:main に表示されます。

*プロファイル: タイプ - プロファイルのタイプ。

*プロファイル: ユーザー uid - プロファイルの所有者。

リレーションシップ オプションを追加します。

*プロファイル: タイプ - プロファイルのタイプ。

*プロファイル: ユーザー uid - プロファイルの所有者。

両方のリストの最後の項目 (Profile: User uid) は当然の選択のように思えますが、どちらのリストからも試してみると、情報が入力されているにもかかわらず、Views ブロックにはまったく情報が表示されません。実際、すべてのフィルターおよび/またはこれまでに試した関係設定では、空の Views ブロックが発生します。私は何かが欠けていると確信しています。

4

2 に答える 2

2

Views モジュールのサポート リクエストとして、これを Drupal フォーラムにも投稿しました。ここで得た情報から正しい答えが得られました。他の人の助けになる場合に備えて、ここでも共有したいと思います。Drupal フォーラムへの私の投稿: https://drupal.org/node/1558544

これが私がしなければならなかったことです(ビューブロックの編集画面から始めます):

1) Advanced (右側のセクションを展開) 2) Relationships [Add] 3) 「Profile: User uid」を選択して適用 4) 次の画面は「Configure Relationship: Profile: User uid」 - Identifier (admin label) ボックスは「ユーザー」があらかじめ入力されています (ここでは変更しません) - [この関係が必要] のボックスにチェックを入れます - 適用 (保存)

5) 「フィルター条件」に移動し、「追加」ボタンをクリックします 6) 「ユーザー: 現在」* のチェックボックスをオンにし、下部の「適用」ボタンをクリックします 7) 次の画面は「フィルター条件の設定: ユーザー」です: 現在" - "関係" (1 つのオプションを含むドロップダウン ボックス): [ユーザー] - "ログインしているユーザーですか:" (はい/いいえボタン): "はい" を選択 - 適用 (保存)

8) メインの [ビュー] 画面で、これをサイトでライブで使用できるように保存してください。

9) それは動作します。この Views ブロックには、現在ログインしているユーザーの情報のみが表示されるようになりました!

  • 以前は、「User: Current」オプションを見たことがなかったため、この構成がまったく正しくありませんでした。

私を答えに導いてくれてありがとう!

〜クリスティーン

于 2012-05-03T23:03:49.567 に答える
0

あなたの問題から私が理解したのは、フィールドを設定したことですが、結果はすべてのユーザーのものです。したがって、ほとんどのことはすでに行われています。リンクに記載されているように、現在のユーザーの関係を追加するだけです。

これが行うことは、ログインしているユーザーのデータのみを表示することです。drupal 内部では、リレーションシップを追加するとブロック ビューに追加されるグローバル変数 $user を取得します。

高度なタブ内のビューブロック設定の右側にあります。初めて使用する場合は、折りたたまれている可能性があり、展開する必要があります。

于 2012-05-02T02:43:22.613 に答える