web-dev-qa-db-ja.com

「送信済み」または「受信ボックス」によるPrivateMsgタイプのフィルタリング

リストを読み込んでいるユーザーに送信されるメッセージリンク、または他のユーザーに送信されるメッセージリンクを表示するときに、プログラムでどのようなアプローチを取る必要があるのか​​と思います。

http://drupal.org/node/624528 にリストされているサンプルコードにいくつかの変更を加えて、著者に関係なくすべての未読メッセージと既読メッセージをロードしました。

foreach ($query->execute() as $key => $thread) {

if ($count <= 25) {
                        // Generate a link with the subject as title that points to the view message page.
                        $items[] = array(
                            'data' => '<a href="' . 'messages/view/' . $thread->thread_id . '">' .
                            '<div class="messages-icon"></div>' .
                            '<div class="messages-from">' . $username . "</div>" .
                            '<div class="messages-subject">' . $thread->subject . "</div>" .
                            '<div class="messages-date">' . format_date($thread->last_updated, 'short') . "</div></a>",
                            'class' => array($class),
                            'id' => $key
                        );
                        $count++;
                    } else {
                        break;
                    }

そして、出力はtheme()呼び出しを通じて行われます。送信されたメッセージが$ thread-> participantでnullを返すことがわかりました。これは、送信されたメッセージを追跡するのに十分なユースケースでしょうか?

1
Cameron Kilgore

リンクしたページから:

// Replace 'inbox' with 'sent' to display sent messages or 'list' to display all messages.
$query = _privatemsg_assemble_query('list', $user, 'inbox');

これを機能させるには、privatemsg_filterモジュールを有効にする必要があることに注意してください。

2
Berdir