unterschiedlicher Breadcrumb EINES Nodes abhängig vom Weg dorthin

am 29.10.2012 - 13:14 Uhr in
Hallo,
ich habe verschiedene views für verschiedene contentTypes angelegt, und diese views verschiedenen mainMenu-Punkten (und -Unterpunkten) zugeordnet.
Auf den Listingseiten zeigt der breadcrumb den Pfad korrekt an: "Sie sind hier: Startseite | Main_x | Sub_y".
erste Frage: wie kann ich auf der Detailansicht-Seite diesen Pfad im breadcrumb erhalten - normalerweise steht dort nur "Sie sind hier: Startseite | nodeTitle" ?
Das kommt aus meiner template.php:
function myTheme_breadcrumb($variables) {
$breadcrumb = $variables['breadcrumb'];
if (!empty($breadcrumb)) {
$output = '<span class="first">' . t('You are here') . ':</span>';
$breadcrumb_separator = '<span class="sep">|</span>';
$output .= implode($breadcrumb_separator, $breadcrumb) . $breadcrumb_separator . '<span>' . drupal_get_title() . '</span>';
return '<div class="breadcrumb">' . $output . '</div>';
}
}
Gibt es denn eine Möglichkeit, diese verschiedenen Wege im breadcrumb abzubilden?
Also: in der listing-Ansicht eines Menü-Unterpuktes habe ich die teaser eines content-Types; wenn ich über den read-more-Link zur Detailansicht komme, sollte im breadcrumb stehen:
"Sie sind hier: Startseite | Main_x1 | Sub_y1 | nodeTitle"
Im listing eines anderen Menü-Unterpuktes habe ich die teaser eines anderen content-Types, wo z.B. sowas steht wie "siehe auch: [link zu einem node des ersten typs]";
wenn ich da drauf klicke, komme ich zur selben Detailansicht wie oben, im breadcrumb sollte nun aber stehen:
"Sie sind hier: Startseite | Main_x2 | Sub_y2 | Sub_sub | nodeTitle"
mfg, Michael
Nachtrag:
Der breadcrumb im zweiten Fall sollte an vorletzter Stelle den nodeTitle des zweiten contentTypes haben, also:
erster breadcrumb: "Sie sind hier: Startseite | Main_x1 | Sub_y1 | nodeTitle_1"
zweiter breadcrumb: "Sie sind hier: Startseite | Main_x2 | Sub_y2 | nodeTitle_2 | nodeTitle_1"
- Anmelden oder Registrieren um Kommentare zu schreiben
Ein Ansatz wäre, die
am 31.10.2012 - 11:02 Uhr
Ein Ansatz wäre, die Inhaltstypen mit verschiedenen Pfaden auszustatten (halt über die Patterns bei Pathauto),
dann sich bei Aufruf einer Seite den Inhaltstyp der aufrufenden Seite über den HTTP_REFERER zu holen und
dann im tpl der aufgerufenen Seite den entsprechenden Breadcrumb auszuwählen.
Vielen Dank, aber
am 31.10.2012 - 14:07 Uhr
könntest Du mir das etwas genauer erklären?
In den URL-Aliaseinstellungen für die content-Paths hab ich z.B. sowas: "typ_name/[node:title]"
das erscheint zwar in der URL, aber nicht im breadcrumb (der Detailseite) - daß bei den listings der komplette Pfad im breadcrumb steht, kommt ja daher, daß ich dafür views mit dem entsprechenden (Menü-)Pfad angelegt habe.
Wie kann ich das denn für die Detailseiten erreichen?
Ich sehe grade, daß in $GLOBALS['_SERVER']['HTTP_REFERER'] der komplette Pfad steht, den müßte ich dann also auseinandernehmen ( ['HTTP_HOST'] rausschmeißen ), und den breadcrumb selber zusammenbasteln?
Und wo? - in der "page.tpl.php" oder in der "template.php", wo ich ja schon mit function myTheme_breadcrumb($variables) {...} den breadcrumb umbaue.
Und aus HTTP_REFERER kriege ich ja nur die Maschinen-Namen der Pfadelemente, wie komme ich denn an die "richtigen" Namen ran? und wo kriege ich die dazugehörigen Links her?
mfG, Michael
Ich habe mich eigentlich nur
am 31.10.2012 - 17:17 Uhr
Ich habe mich eigentlich nur darauf bezogen, wie Du überhaupt zwei verschiedene Breadcrumbs darstellen kannst. Nicht wie Du diese Breadcrumbs bildest. Da steht nochmal auf einem anderen Blatt.