質問
私はブログタグにコア分類モジュールを使用していますが、タグのページでパンクランプを「ホーム」としてしか表示できないのに、理想的には「ホーム>ブログ>##タグ#」になりたいです。カスタムブレッドクランブモジュールを使用して、コンテンツタイプのパン粉を設定しています(< - は分類型のパン粉を許可しません)。特に構成可能なモジュールではないという事実のために、まったく結果がない分類版のブレッドクラムモジュールを使用してみました。ブログタグページ(用語の下ですべてのノードをリストする)は、ビューではなく、コア分類モジュールから生成されているようであるため、ビューで問題を解決することはできません。
誰かが私を正しい方向に向けることができたら、私は感謝するでしょう:)
解決
これはあなたが比較的簡単にできることのように聞こえます drupal_set_breadcrumb
カスタムモジュールで。
これは、カスタムブレッドクランブモジュールがそれ自体を使用しているものである可能性が最も高いです。カスタムブレッドクランブモジュールの後にレンダリングされる前にパン粉を変更する必要があります。これは、分類版のパンムーブモジュールにいくつかの問題を与えているものかもしれません。
システムテーブルの重量を変更すると、2つのモジュールがパン粉をどのように変更するかを除いて使用できる場合があります。私の推測では、それが完了したと思います hook_init
他のヒント
これは、テーマのtemplate.phpでTheme_breadcrumb()をオーバーライドすることで実現できます。実装の例:
function mytheme_breadcrumb($breadcrumb) {
if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
$breadcrumb = array();
$breadcrumb[] = l(t('Home'), '<front>');
$breadcrumb[] = l(t('Blog'), 'path/to/blog');
$tid = arg(2);
if ($term = taxonomy_term_load($tid)) {
$uri = entity_uri('taxonomy_term', $term);
$breadcrumb[] = l($term->name, $uri['path'], $uri['options']);
}
}
// resume normal operation
if (!empty($breadcrumb)) {
// uncomment the next line to enable current page in the breadcrumb trail
$title = drupal_get_title();
if (!empty($title)) {
$breadcrumb[] = $title;
unset($title);
}
return '<div class="breadcrumb">'. implode(' > ', $breadcrumb) . '</div>';
}
}
そのためのモジュールがあります(複数):
おそらく、その柔軟性と、他のサイトのパン粉を作成する能力のために、カスタムパン粉を選択するでしょう。
私は分類に同じ問題を抱えていました。モジュール「Easy Breadcrumbs」に出くわしました。これは、URL構造から外れてパン粉を生成します(PathautoとClean URLに依存しています)。
例えば:
example.com/style/mediterranean
ホーム>スタイル>地中海
多くの場合、これは役に立たないことを理解していますが、パンくずがURLの構築を模倣した場合、簡単なパン粉は問題を解決するはずです。
私は使っていました 分類法ディスプレイ そしてそれを見つけました drupal_set_breadcrumb()
失敗していました hook_init()
また、パン界のオーバーライドは他のモジュールで失敗していました。
パッチについてはこの問題を参照し、このモジュールのユーザーにソリューションを提供しています。パン界の取り扱いにより、親なしで条件のパン粉を変更することは不可能です
と パン粉 7.x-2.x:
管理者/構造/パン粉にアクセスし、分類を有効にします。 (すでに有効になっているかもしれませんが、確かに見てください)
行きます
admin/structure/crumbs/entity-parent/taxonomy-term
, 、そして、選択した語彙の親のパスとして「ブログ」を設定します。Admin/Structure/Crumbsにアクセスして、Crumbs.EntityParent。
と パン粉 7.x-1.x:
管理者/構造/パン粉にアクセスし、分類を有効にします。 (すでに有効になっているかもしれませんが、確かに見てください)
「ブログ」を「Taxonomy/Term/%Taxonomy_term」の親パスにするCrumbsプラグイン(*)を備えたカスタムモジュールを書きます。
管理者/構造/パン粉にアクセスし、新しいプラグインを有効にし、分類法よりも優先されます(さらに下)。
(*)プラグインを書く:http://drupal.org/node/1398876
この例は、この目的のために少し過剰になるかもしれません。あなたがあなたの道を見つけることができることを願っています。