Manipulation der Breadcrumb Navigation löschen des Home Link
am 10.08.2007 - 09:02 Uhr in
Hallo Drupaler,
ich hatte neulich das Problem das ein Kunde die Breadcrupbnavi als Überschrift nutzen wollte dazu aber natürlich den Homebutton nicht sehen wollte.
Also wer von euch den Homebutton nicht sehen will hier die Lösung.
Im template.php die breadcrumb funktion mit dieser hier überspielen, dieser Code ist aus dem drupal.org Forum wo dieses Problem schon mal behandelt wurde aber irgendwie nicht so richtig cool gelöst war.
/*
phptemplate_breadcrumb($breadcrumb) override
File: template.php
Use: Hide breadcrumb trails with only 1 crumb, regardless of crumb name ("home" is)
a popular single-crumb that people like to have removed in some templates.
Through: PHPTemplate function override
Benefits: Does not involve extra code in separate view.
*/
function phptemplate_breadcrumb($breadcrumb) {
$home = variable_get('site_name', 'drupal');
$sep = ' | ';
// Check if breadcrumb has more than 1 element.
// Options: Change to the number of elements/crumbs a breadcrumb needs to be visible.
if (count($breadcrumb) > 1) {
//$breadcrumb[0] = l(t($home), '');
array_shift($breadcrumb);
/*
Optional: Include page title in breadcrumb.
drupal_get_title() !== ''
Check if title blank, if that is the case, we cannot include trailing page name.
strstr(end($breadcrumb),drupal_get_title()) == FALSE
Some modules will make it so path or breadcrumb will involve duplication of
title and node name (such as in the Events module) to remove this, simply
take out && strstr(end($breadcrumb),drupal_get_title()) == FALSE
Use: Simply uncomment the if structure below (3 lines).
Special Use: If you wish to use this regardless of elements/crumbs in a breadcrumb
simply cut/paste the statements inside the "if (count($breadcrumb) > 1)" outside
of the structure, and delete the extranneous structure.
*/
/*if ( (drupal_get_title() !== '') && (strstr(end($breadcrumb),drupal_get_title()) ) == FALSE) {
$breadcrumb[] = t(drupal_get_title(), '');
}*/
return '<div class="breadcrumb">'.implode($sep, $breadcrumb).$sep.'</div>';
} else {
// Would only show a single element/crumb (or none), so return nothing.
// You can remove this statement.
}
}
und im page.tpl.php den Breadcrumb aufruf suchen und hiermit ersetzen
<span class="deineKlasse">
<?php if ($breadcrumb): print $breadcrumb; endif; ?>
<span class="deineKlasse">
<?php if ($title != ""): ?>
<?php if (!$breadcrumb): echo "<b>"; endif; print $title; if (!$breadcrumb): echo "</b>"; endif;?>
<?php endif; ?>
Hiermit wird auch immer der Titel in der Navi fett angezeigt wenn keine Breadcrumbtrail angezeigt wird, wenn eine Unterseite folgt ist der erste Punkt in der Navi fett und der Titel dann in Normalschrift. Ihr könnt das stylen wie ihr wollt und ausprobieren.
Bei Fragen fragen ...
- Anmelden oder Registrieren um Kommentare zu schreiben
Beispiel
am 04.02.2008 - 11:42 Uhr
Wo kann man ein Anwendungsbeispiel sehen?
Danke für einen Link,
Markus