web-dev-qa-db-ja.com

Privatemsgモジュールを使用して2人のユーザー間のメッセージの履歴を表示するにはどうすればよいですか?

誰もが、2人のユーザーが Privatemsg モジュールを使用して共有したすべてのメッセージのリストを表示する方法を知っていますDrupal 7?2人のユーザー間の会話の履歴の並べ替えブロックまたはtemplate.tpl.php

助けてください。

1
IA Varsally

OPは、カスタムモジュールでヘルパー関数を作成することにより、これを成功させました。

この関数は、送信者uidと受信者uidの2つの引数を受け入れます。メッセージのリストを返します。

次に、この関数をどこからでも呼び出して、必要なメッセージのリストを取得できます。

OPが作成した関数は次のとおりです。

function get_message_history($sender_uid, $recipient_uid) {
  $query = db_query("SELECT * FROM pm_index, pm_message
    WHERE ((pm_index.recipient = $sender_uid AND pm_message.author = $recipient_uid)
      OR (pm_index.recipient = $recipient_uid AND pm_message.author = $sender_uid))
      AND pm_index.mid = pm_message.mid
    ORDER BY pm_message.timestamp DESC");
  $messages = $query->fetchAll();
  return $messages;
}
1
Free Radical