2011-11-29 15 views
5

Ho un Drupal vocabolario 7.9 tassonomia secondo il seguente schema:Drupal 7: Pathauto termini tassonomia gerarchica modello

category-1 
    category-1 > subcategory-1-1 
    category-1 > subcategory-1-2 
    category-1 > subcategory-1-3 
category-2 
    category-2 > subcategory-2-1 

voglio riflettere questa gerarchia tassonomia nella mia pagina sentiero URL come

category-1/subcategory-1-1/page-123 

Per raggiungere questo obiettivo sto usando la versione di Pathauto 7.x-1.0. ma non so quale schema devo usare.

Attualmente sto usando [node:%field_taxonomy%]/[node:title] ma con questo modello il percorso dell'URL è solo subcategory-1-1/page-123, quindi la gerarchia completa non viene riflessa. Esiste uno schema ad albero di tassonomia? Non riesco a trovare alcuna informazione aggiornata su questo e schemi validi sembrano cambiare in ogni versione di Pathauto.

risposta

9

Dopo alcune prove ed errori, ho trovato un modo che funziona abbastanza bene per me durante la creazione di percorsi URL personalizzati utilizzando termini di tassonomia. Tutto quello che devi fare è installare un modulo aggiuntivo chiamato Entity API. Puoi trovarlo qui http://drupal.org/project/entity. Dopo l'installazione, è necessario abilitare sia i moduli Entity API che i token Entity. I token di entità forniscono sostituzioni token per tutte le proprietà che non hanno token e sono note all'API dell'entità.

Per prima cosa, vai e crea un nuovo vocabolario di tassonomia. Chiamiamolo "Categoria" e aggiungere alcuni termini. Quindi per un tipo di contenuto si desidera avere un percorso URL personalizzato è necessario creare un nuovo campo di riferimento per i termini. Non so perché, ma non funziona con i field_tags standard. Quindi, assicurati di crearne uno nuovo. Chiamiamola anche categoria e utilizza il nostro vocabolario "Categoria" precedentemente creato come fonte. Ed ecco un'altra cosa che devi prendere in considerazione: devi etichettare questo campo con una piccola lettera; altrimenti non funziona per una ragione sconosciuta per me;). Finirai con un campo field_category.

Vai alla pagina di amministrazione degli alias URL -> Modelli. Espandi i modelli di sostituzione per i percorsi del contenuto -> espandi i nodi -> vedrai la categoria in basso, espandi. Ok, ora sei pronto per usare i token di termini della tassonomia.

Utilizzare qualcosa come [nodo: campo-categoria: nome]/[nodo: titolo] dove [nodo: campo-categoria: nome] è il nome del termine tassonomia e si avrà un percorso come mysite.com/term/titolo.

A proposito, uso Pathauto 7.x-1.0-beta1, Token 7.x-1.0-beta2 e Entity API 7.x-1.0-beta8.

Buona fortuna!))

http://drupal.org/node/1044980#comment-4562844

È possibile creare URL con questo schema: [nodo: Campo-categoria: vocabolario: Nome]/[nodo: Campo-categoria: i genitori: si uniscono: /]/[nodo: Campo -categoria: nome]/[nodo: titolo]

+1

Grazie mille per la soluzione dettagliata. Ora ho finito con '[node: field-category: parents: join: /]/[node: field-category: name]/[node: title]'. Funziona bene! –

0

Per quanto ne so, Drupal + Token + PathAuto di base non è in grado di creare percorsi, come desiderato.

+0

Conosci un altro modulo per risolvere questo problema? –

+0

L'API delle entità funziona –

2

In vostra situazione particolare si può andare via con l'utilizzo seguente modello per gli elementi di tassonomia:

[termine: il vocabolario: Nome]/[termine: parent: parent]/[termine: parent]/[termine: nome ]

E per modello nodo:

[nodo:% field_taxonomy%: url: percorso]/[node: titolo]

C'è svantaggio tho - termine modello in grado di gestire fino a tre livelli in questo Astuccio. Quindi non puoi renderlo illimitato con questo approccio. (Credo che tu possa aggiungere un termine: genitore: genitore: ... quanti ne vuoi).

Anche se gestirà meno di 3 livelli (appena testato per essere sicuri).

+1

Grazie, Pavel. Ma il modello del nodo sembra non essere valido. Non esiste un token URL per% field_taxonomy% (non elencato sotto i pattern) Modello testato: [nodo: field_category: url: percorso]/[nodo: titolo] Versione Pathauto: 7.x-1.0 Versione token: 7 .x-1.0-beta7 Quale versione del modulo usi? –

+0

Questo ha funzionato per me. Vorrei che ci fosse un token più intelligente che potresti usare anche se invece di dover specificare la profondità massima. – Evans

+0

Impressionante, ho passato un'ora a provare ed errore. Mi sono avvicinato ma non ho avuto successo, poi ho deciso di google e ho trovato questa risposta. –

0

Controlla la mia risposta here. È possibile utilizzare il modulo di indice entità tassonomia per ottenere tale comportamento.

Problemi correlati