私は this tip を使用してDrupal 7個のプライベートメッセージをブロックに入れ、それらのブロックをquicktabsブロックに配置しました:
<?php
/**
* Implements hook_block_info().
*/
function MYMODULE_block_info() {
$blocks = array();
$blocks['messages_list'] = array(
'info' => t('Messages List'),
'cache' => DRUPAL_NO_CACHE,
);
$blocks['messages_sent'] = array(
'info' => t('Sent Messages'),
'cache' => DRUPAL_NO_CACHE,
);
$blocks['new_message'] = array(
'info' => t('New Private Message'),
'cache' => DRUPAL_NO_CACHE,
);
return $blocks;
}
/**
* Implements hook_block_view().
*/
require_once('sites/all/modules/privatemsg/privatemsg.pages.inc');
function MYMODULE_block_view($delta = '') {
$block = array();
switch ($delta) {
case 'messages_list':
global $user;
$block['subject'] = t('Private Messages List');
$block['content'] =
drupal_get_form('privatemsg_list', 'list', $user);
break;
case 'messages_list':
global $user;
$block['subject'] = t('Private Sent Messages');
$block['content'] =
drupal_get_form('privatemsg_list', 'sent', $user);
break;
case 'new_message':
$block['subject'] = t('New Private Message');
$block['content'] = drupal_get_form('privatemsg_new');
break;
}
return $block;
} ?>
それはかなりうまくいきますが、私は次の問題を抱えています:
ノート(編集済み):
Drupal 7 Privatemsgビュー統合モジュールがスタックしています(最新のパッチ こちら を参照できます)。フォームの統合は多少は機能します。
代替アプローチ:
お知らせ下さい
ありがとう
アムノン
クイックタブを使用する必要はありません。 privatemsg_filterアドオンモジュールを使用する場合、タブ機能は固有です。受信トレイ、送信済みメッセージ、およびすべてのメールが3つのタブとして公開されます。
新しいプライベートメッセージを送信するオプションを備えた4番目のタブを追加する必要があるだけです。
タブはすでにページとして存在していたので、hook_menu_alter()を使用してタブを追加するのは簡単でした。
したがって、最終的なコードは次のとおりです。
<?php
function MYMODULE_menu_alter(&$items) {
// Make the privatemsg new link a tab
$items['messages/new']['type'] = MENU_LOCAL_TASK;
}
?>
そのサンドボックスプロジェクト ここにリンクの説明を入力 を使用して、必要なブロックを作成できます