Désactiver le fil d'ariane

Un sentier dans une forêt

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