Thème
Les modules Custom Breadcrumbs et Disable Breacrumbs suffisent en règle générale à personnaliser finement son fil d'ariane. Parfois il peut être nécessaire ou plus simple de modifier directement le fil d'ariane au niveau du code php. Plusieurs fonctions sont utilisables selon les cas d'usage.
Un exemple pour modifier le fil d'ariane sur la page d'accueil
function phptemplate_breadcrumb($breadcrumb) {
if (!empty($breadcrumb)) {
if ($breadcrumb[0]=='<a href="/">Home</a>') {
$breadcrumb[0]='<a href="#">Welcome</a>';
}
return '<div class="breadcrumb">'. implode(' > ', $breadcrumb) .'</div>';
}
}
Un autre exemple pour supprimer le fil d'ariane de la page d'accueil
function YOUR_THEME_breadcrumb($variables) {
$breadcrumb = $variables['breadcrumb'];
if ($breadcrumb[0]=='<a href="/">Accueil</a>' and empty($breadcrumb[1])) {
// Delete $breadcrumb if the first value is Accueil and there is no others values
$breadcrumb = array(); }
if (!empty($breadcrumb)) {
// Provide a navigational heading to give context for breadcrumb links to
// screen-reader users. Make the heading invisible with .element-invisible.
$output = '<h2 class="element-invisible postheader">' . t('You are here') . '</h2>';
$output .= '<div class="breadcrumb postcontent">' . implode(' » ', $breadcrumb) . '</div>';
return $output;
}
}
Ou encore pour le désactiver sur certaines pages
function YOUR_MODULE_preprocess_page(&$vars) {
// On the page general-chat
if ($_GET['q'] == 'general-chat') {
unset($vars['breadcrumb']);
}
// On the pages of term taxonomy
if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
unset($vars['breadcrumb']);
}
}
Ajouter un commentaire