2つの新しいフィールド(ビューフィールドと単純なテキストフィールド)を追加しました。これらのフィールドを受信ボックスに表示したいと思います(/messages
)既存の件名、参加者、および最終更新データとともに。それらのフィールドをそのページに追加するにはどうすればよいですか?使用できるtpl形式はありますか?
/**
* Implements hook_form_alter().
*/
function modulename_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'privatemsg_list') {
$form['updated']['list']['#header']['bar_column_field']['data'] = 'Bar Column';
$form['updated']['list']['#header']['bar_column_field']['field'] = 'bar_column_field';
$form['updated']['list']['#header']['bar_column_field']['class'][] = 'privatemsg-header-bar-column';
$form['updated']['list']['#pre_render'][] = '_pre_render_bar_column';
}
/**
* Custom #pre_render function.
*/
function _pre_render_bar_column($tableselect) {
$i = 0;
foreach ($tableselect['#options'] as $id => $options) {
$data = 'Bar data in the table ' . $i++ . '';
$tableselect['#options'][$id]['bar_column_field'] = array('data' => $data, 'class' => array('privatemsg-list-bar'));
}
return $tableselect;
}
クエリなどを実行し、実際のデータを新しい列に配置した後、$data
変数を任意のフィールドの値で変更できます。フィールドは、メッセージング(admin/config/messaging/privatemsg/fields
)またはその他の使用可能なエンティティに添付できます。