it-swarm.it

Tassonomia impanata

Sto usando il modulo di tassonomia di base per i tag del blog, ma quando nella pagina di un tag posso solo far apparire il breadcrumb come "Home", mentre idealmente mi piacerebbe essere "Home> Blog> # Tag #". Sto usando il modulo breadcrumb personalizzato per impostare breadcrumb per i tipi di contenuto (<- non consente il breadcrumb tassonomia) e ho provato a utilizzare il modulo breadcrumb tassonomia senza alcun risultato, in parte dovuto al fatto che non è un modulo particolarmente configurabile. Le pagine dei tag del blog (che elencano tutti i nodi in un termine) sembrano essere generate dal modulo di tassonomia principale e non dalle viste, quindi non riesco a risolvere il problema nelle viste.

Se qualcuno potesse indicarmi la giusta direzione sarei grato :)

8
Storsey

Sembra qualcosa che potresti fare relativamente facilmente con drupal_set_breadcrumb in un modulo personalizzato.

Questo è probabilmente ciò che il modulo breadcrumb personalizzato sta usando se stesso. Dovrai modificare il pangrattato dopo il modulo breadcrumb personalizzato ma prima che vengano visualizzati. Questo potrebbe essere ciò che ti sta dando alcuni problemi con il modulo breadcrumb tassonomia.

Potresti essere in grado di usarlo se ne modifichi il peso nella tabella di sistema, a seconda di come i due moduli alterano il pangrattato. La mia ipotesi è che sia fatto con hook_init

3
googletorp

Questo può essere realizzato sovrascrivendo theme_breadcrumb () nel template.php del tuo tema. Un'implementazione di esempio:

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>';
  }
}
9
zerolab

C'è un modulo per quello (ben più di uno):

Probabilmente sceglierebbe il pangrattato personalizzato per la sua flessibilità e la capacità di fabbricare il pangrattato anche per il resto del tuo sito.

4
wiifm

Avevo lo stesso problema con le tassonomie. Mi sono imbattuto nel modulo "Easy Breadcrumbs", che guarda fuori dalla costruzione dell'URL per generare il breadcrumb (si basa su Pathauto e Clean URL).

Per esempio:

example.com/style/mediterranean

Home> Stile> Mediterraneo

Capisco che in molti casi questo non sarà di aiuto, ma se il tuo breadcrumb imita la costruzione del tuo URL, Easy Breadcrumb dovrebbe risolvere i tuoi problemi.

2
woop

Con Briciole 7.x-2.x:

  1. Visita admin/struttura/briciole e abilita la tassonomia. * Carattere jolly del plug-in o più specifico della famiglia di plug-in tassonomia. (potrebbe essere già abilitato, ma dai un'occhiata per essere sicuro)

  2. Vai a admin/structure/crumbs/entity-parent/taxonomy-term e imposta "blog" come percorso principale per il vocabolario scelto.

  3. Visita admin/struttura/briciole, assicurati che crumbs.entityParent. * (O qualcosa di più specifico) sia abilitato.

Con Briciole 7.x-1.x:

  1. Visita admin/struttura/briciole e abilita la tassonomia. * Carattere jolly del plug-in o più specifico della famiglia di plug-in tassonomia. (potrebbe essere già abilitato, ma dai un'occhiata per essere sicuro)

  2. Scrivi un modulo personalizzato con un plugin Crumbs (*) che rende "blog" il percorso principale per "tassonomia/termine /% taxonomy_term".

  3. Visita admin/struttura/briciole, abilita il tuo nuovo plugin e assegnagli una priorità più debole (più in basso) rispetto alla tassonomia. * O taxonomy.termParent. *.

(*) Scrivere il plugin: http://drupal.org/node/1398876
L'esempio potrebbe essere un po 'eccessivo per questo scopo, spero che tu possa trovare la tua strada.

1
donquixote

Stavo usando Taxonomy Display e ho scoperto che drupal_set_breadcrumb() non stava funzionando su hook_init() e che le sostituzioni breadcrumb non stavano funzionando in altri moduli.

Vedi questo problema per una patch e una soluzione offerta agli utenti di questo modulo: la gestione del breadcrumb rende impossibile modificare il breadcrumb per i termini senza genitori

1
tmsimont