5

出席モジュールのページにブレッドクラムを追加するにはどうすればよいですか。

次のフックを使用しましたが、他のモジュールのすべてのページのブレッドクラムも変更されました。

function attendance_init() {
// set the breadcrumb
$breadcrumb = array();
$breadcrumb[] = l('Home', '<front>');
$breadcrumb[] = l('People', 'group/node/'. arg(2) .'/people');
$breadcrumb[] = l('Attendance', 'group/node/'. arg(2) .'/people/attendance');
drupal_set_breadcrumb($breadcrumb);         
}
4

1 に答える 1

5

特定のコンテンツ タイプ ノードのブレッドクラムを変更しようとしている場合は、hook_node_view_alter ()を使用してみてください。

次に例を示します。

function attendance_node_view_alter(&$build)
{
    $node = $build['#node'];
    if($build['#view_mode'] == "full" && $node->type == "attendance")
    {
        $breadcrumb = array();
        $breadcrumb[] = l('Home', '<front>');
        $breadcrumb[] = l('People', 'group/node/'. arg(2) .'/people');
        $breadcrumb[] = l('Attendance', 'group/node/'. arg(2) .'/people/attendance');
        drupal_set_breadcrumb($breadcrumb);
    }
}

これがうまくいくことを願っています...ムハンマド

于 2012-04-11T07:30:10.323 に答える