web-dev-qa-db-ja.com

ビューの引数を使用するときに正しいパンくずを作成するにはどうすればよいですか?

ブログ投稿用のカスタムCCKコンテンツタイプがあり、ビューを使用してアーカイブリストに投稿を表示しています。 Node:Created yearとNode:Created monthの2つの引数を使用して、月次および年次のアーカイブページを生成します。これにより、 http://example.com/blog/2011 のようなURLを作成できます。 http://example.com/blog/2011/08 。これはかなり標準的なものであり、ビューを使用すると非常に簡単です。

実際のアーカイブリストページは問題なく機能していますが、ビューが生成するパンくずリストは機能しません。この種類の証跡を作成する代わりに、URL http://example.com/blog/2011/08 を使用します(これは正しいようです)。

Titles = Home > Blog  > 2011       > August  
URLs   = /      /blog   /blog/2011   /blog/2011/08  

…ビューはこの誤ったパンくずリストを生成します:

Titles = Home > Blog  > 2011  > August  
URLs   = /      /blog   /blog   /blog/2011  

年引数に対して生成されたURLは、/blogではなく/blog/[yyyy]を指し、月引数に対して生成されたURLは月ではなく年のみを指します。

1レベル下に( http://example.com/blog/2011 に)すると、同様の問題が発生します。

Titles = Home > Blog  > 2011
URLs   = /      /blog   /blog   

どちらの場合も、引数のURLは正しく出力されませんが、タイトルは正しく出力されます。

ビューの各引数の設定はかなり標準的です 月の設定年の設定 。ページ表示のパスは「ブログ」だけです。

この奇妙なブレッドクラムの動作の原因は何ですか。どうすれば修正できますか?

ありがとう!

3
Andrew

タイトルとブレッドクラムの設定は、多くの場合非常に混乱します。 Drupalは、通常、現在のページをパンくずリストの一部として表示しません。これが、ビューの設定も機能する方法です。

現在のページのタイトルを設定していることを覚えておく必要がありますが、階層内の前のページのブレッドクラムです。つまり、「このページが表示されたときに、パンくずリストに何を追加したいですか」ということです。

ノード:作成年
タイトル:%1のブログアーカイブ
ブレッドクラム:ブログ

ノード:作成された月
タイトル:%2%1のブログアーカイブ
ブレッドクラム:%1

これにより、ラベルとリンクのマッチングが修正されます。現在のページをパンくずリストに追加するテーマを使用している場合、またはとにかく現在のページのリンクをパンくずリストにしたい場合は、使用しているテーマの詳細と、そこに現在のページのタイトルを付けてもよいかどうかをお知らせください。乾杯!

2
Jan Tomka

Views をサポートする Custom Breadcrumbs モジュールを確認してください。これについての引用は次のとおりです(モジュールのプロジェクトページから):

カスタムブレッドクラム1

管理者は、任意のノードタイプのパラメータ化されたパンくずリストを設定できます。これにより、CCKスタイルのノードタイプは、ノードビューページ自体に「ホーム>ユーザーブログ> 2005> 1月」スタイルのブレッドクラムを持ち、カスタムビューまたはパスオートエイリアスときれいに同期できます。パンくずリストの可視性は、phpスニペットを介してカスタマイズできます。

カスタムブレッドクラム2

ビュー、パネル、分類用語、用語、パス、および提供されたモジュールがモジュールページとテーマテンプレートのカスタムブレッドクラムを有効にすることができるシンプルなAPIのサポートを含む、多くの新機能が追加されました。これらは、メインのカスタムブレッドクラムモジュールに依存するオプションの独立したサブモジュールを使用して実装されます。

パンくずリストの可視性に加えて、このバージョンには、パンくずリストのタイトルとパスの作成にPHPコードスニペットの使用を許可するオプションが用意されています。複数の言語もサポートされています。

5
acouch