Fil d'Ariane de la taxonomie

8

J'utilise le module de taxonomie de base pour les balises de blog, mais lorsque vous êtes sur la page d'une balise, le fil d'Ariane ne peut apparaître que comme `` Accueil '', alors que j'aimerais idéalement être `` Accueil> Blog> # Tag # ''. J'utilise un module de fil d'Ariane personnalisé pour définir le fil d'Ariane pour les types de contenu (<- ne permet pas le fil d'Ariane de taxonomie) et j'ai essayé d'utiliser le module de fil d'Ariane de taxonomie avec absolument aucun résultat, en partie parce qu'il ne s'agit pas d'un module particulièrement configurable. Les pages de balises de blog (répertoriant tous les nœuds sous un terme) semblent être générées à partir du module de taxonomie de base et non des vues, donc je ne peux pas résoudre le problème dans les vues.

Si quelqu'un pouvait m'orienter dans la bonne direction, je lui en serais reconnaissant :)

Storsey
la source

Réponses:

3

Cela ressemble à quelque chose que vous pourriez faire relativement facilement avec drupal_set_breadcrumbdans un module personnalisé.

C'est probablement ce que le module de navigation personnalisé utilise lui-même. Vous devrez modifier le fil d'Ariane après le module de fil d'Ariane personnalisé mais avant leur rendu. C'est peut-être ce qui vous pose certains problèmes avec le module de navigation de la taxonomie.

Vous pourrez peut-être l'utiliser si vous modifiez son poids dans la table système, en fonction de la façon dont les deux modules modifient le fil d'Ariane. Je suppose que c'est fait avechook_init

googletorp
la source
9

Cela peut être accompli en remplaçant theme_breadcrumb () dans le template.php de votre thème Un exemple d'implémentation:

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(' &gt; ', $breadcrumb) . '</div>';
  }
}
zerolab
la source
4

Il y a un module pour cela (bien plus d'un):

Je choisirais probablement du fil d'Ariane personnalisé en raison de sa flexibilité et de sa capacité à créer également du fil d'Ariane pour le reste de votre site.

wiifm
la source
J'utilise custom_breadcrumbs mais je n'ai pas la possibilité de personnaliser le fil d'Ariane pour les termes de taxonomie en fonction du type de contenu.
KenAesthetic
2

J'avais le même problème avec les taxonomies. Je suis tombé sur le module "Easy Breadcrumbs", qui regarde hors de la construction d'URL pour générer le fil d'Ariane (repose sur Pathauto et Clean URLs).

Par exemple:

example.com/style/mediterranean

Accueil> Style> Méditerranée

Je comprends que dans de nombreux cas, cela n'aidera pas, mais si votre fil d'Ariane imite la construction de votre URL, alors Easy Breadcrumbs devrait résoudre vos problèmes.

woop
la source
Voici le lien: drupal.org/project/easy_breadcrumb
Utilisateur
1

Avec Crumbs 7.x-2.x:

  1. Visitez admin / structure / crumbs, et activez le caractère générique du plugin taxonomy. *, Ou quelque chose de plus spécifique de la famille des plugins taxonomy. (il est peut-être déjà activé, mais jetez un œil pour en être sûr)

  2. Accédez à admin/structure/crumbs/entity-parent/taxonomy-termet définissez "blog" comme chemin d'accès parent pour le vocabulaire choisi.

  3. Visitez admin / structure / crumbs, assurez-vous que crumbs.entityParent. * (Ou quelque chose de plus spécifique) est activé.

Avec Crumbs 7.x-1.x:

  1. Visitez admin / structure / crumbs, et activez le caractère générique du plugin taxonomy. *, Ou quelque chose de plus spécifique de la famille des plugins taxonomy. (il est peut-être déjà activé, mais jetez un œil pour en être sûr)

  2. Écrivez un module personnalisé avec un plugin Crumbs (*) qui fait de "blog" le chemin parent pour "taxonomy / term /% taxonomy_term".

  3. Visitez admin / structure / crumbs, activez votre nouveau plugin et donnez-lui une priorité plus faible (plus bas) que la taxonomie. * Ou taxonomy.termParent. *.

(*) Écriture du plugin: http://drupal.org/node/1398876
L'exemple peut être un peu exagéré à cet effet, j'espère que vous pourrez trouver votre chemin.

don Quichotte
la source
Dans la branche 7.x-2.x de Crumbs, au lieu du plug-in personnalisé à l'étape 2, vous pouvez spécifier un modèle de jeton pour définir "blog" comme chemin parent pour les pages de termes de taxonomie.
donquixote