web-dev-qa-db-ja.com

ユーザー参照フィールドの値を取得し、それを使用してそのユーザーに関する情報を表示する

他の人が開発した既存の6.xブロックモジュールを変更した経験はありますが、私はモジュール開発に非常に慣れていません。 7.xモジュールを開発する必要があり、多くのドキュメントを読んでも、基本的な出発点が欠けているようです。 drupal.orgや他のサードパーティのサイトのドキュメントを見てきましたが、自分のせいで基本的な概念が欠けているようです。

私が取り組んでいるサイトには、プロジェクトというコンテンツタイプがあります。現在、このコンテンツタイプを使用する多くのプロジェクトページがあります。フィールドタイプの1つは、key_contactと呼ばれるユーザー参照フィールドです。

アイデアは、key_contactのユーザー名(key_contactフィールドにID番号として格納されている)を取得するブロックを作成し、その番号から別のテーブルでSQLクエリを実行して、IDの詳細を取得して表示する必要があるということです。ブロック。

現在、IDを返すことができるビューがあり、このビューをジョブ全体を実行するモジュールに置き換えるように求められました。

Key_contactのIDを取得したら、SQLクエリや出力の書式設定に問題はありません。私はブロックモジュールの作成に精通しています。

私が行き詰まっているのは、ロードされたときにコンテンツタイプのプロジェクトページからkey_contact値を取得する方法を理解することです。

このようなコンテンツタイプからフィールド値を抽出する方法を説明するドキュメントまたは例、または説明を表示できれば幸いです。

2

Views for Drupalを使用する必要があります。7.初めて手動で行う必要があります。
次に、 機能 モジュールを使用してモジュールに変換できます。機能は、ビューに代わって同じビューブロックを生成する自動生成モジュールを提供します。

2
Shoaib Nawaz

これにはビューを使用する必要があります。ユーザー参照フィールドの引数を追加してから、ユーザープロファイルから表示するフィールドを追加します。次に、ブロック表示をビューに追加して、ブロック構成ページの領域に割り当てることができます。

0
ipwa

Viewsがこれに対する良い解決策であると言う他の人にも同意します。ビューを使用しないと主張する場合は、 menu_get_object() を使用して現在のノードを取得できます(ノードページを表示している場合)。探している情報は、読み込まれたノードオブジェクトで利用できるはずです。

0
marcvangend