2011-12-22 11 views
1

ビューを操作していて、ブレッドクラムのトレイルを更新するビューを取得する方法があるかどうか疑問に思っています。 hommeと呼ばれる最初のビューでは、パンくずリストは更新されず、まだホームページにあるように "home>"と表示されます。投稿をクリックすると、ブレッドクラムが「ホーム>ブログ>管理者のブログ>」に更新されます。私はそれが言う必要がありますホーム>オム>記事の名前は、基本的にあなたがブログサイトや投稿に行くときに期待するだろう。ビューのパンくず7 dr3al 7

ビューをブログのように動作させることはできますか?

答えて

1

デフォルトのブレッドクラム機能によって生成されたテーマ出力を上書きすることをお勧めします。

独自のテーマを作成したと仮定して、テーマのルートにtemplate.phpというファイルを作成します。 YOURTHEME_breadcrumbという名前の関数を作成します。ここで、YOURTHEMEはテーマの名前です。この関数が返すHTMLはブレッドクラムです。ここで必要に応じて戻り値を変更して、必要なものを取得します。 Drupalのメニュー機能を使用して、より良いブレッドクラムを構築することを検討してください。

詳細については、このAPIの記事のコメントを確認:あなたのtemplate.phpファイルにこれを追加するhttp://api.drupal.org/api/drupal/includes--theme.inc/function/theme_breadcrumb/7

+0

どこ一つは、このYOURTHEME_breadcrumb機能を入れていますか?それはモジュールで動作するのでしょうか、それともテーマテンプレートに属していますか?私のテーマにプロセスと前処理フォルダがある場合は、それを置くべきでしょうか、それとも別の場所に属していますか? – beth

+0

テーマファイルのルートにある 'template.php'というファイルに置きます。 'template.php'ファイルは実際に' .module'ファイルと似ています。というのは、Drupalはあなたのフック関数がそこに存在することを期待しています。 – rybosome

0

はD7サイトで動作します:

function theme_breadcrumb($breadcrumb) 
{ 
    if (substr($_GET['q'], 0, 13) == 'news/category') { 
    $breadcrumb[] = l('News', 'news/'); 
    } 
    if (count($breadcrumb) > 1) { 
    if ($breadcrumb) { 
     return '<div class="breadcrumb">'. implode(' &rsaquo; ', $breadcrumb) ."</div>\n"; 
    } 
    } 
} 
関連する問題