Come posso sostituire un elenco tassonomia / termine /% con una vista?


28

Ho un vocabolario allegato a un tipo di contenuto. È possibile selezionare un solo termine per classificare un nodo creato con questo tipo di contenuto. Il vocabolario si chiama veicoli e ha termini "auto, camion, barche". Il tipo di contenuto è anche denominato Veicoli.

Uso path auto in modo che mostri [vocabolario: nome] / [termine: nome], quindi quando viene visualizzato mostrerà site.com/vehicles/trucks, ad esempio, che mostrerà tutti i camion ... roba tipica di Drupal .. Ok...

Ora ho una vista che è una pagina con un percorso "veicoli". È impostato per visualizzare tutti gli elementi del tipo di contenuto "veicoli". Questa visualizzazione di pagina è inoltre configurata per accettare un argomento "ID termine tassonomia".

Si noti che quando è presente il termine tassonomia, l'alias url generato per il percorso tassonomia è lo stesso della pagina Viste con un argomento fornito:

Percorso di tassonomia con alias URL = veicoli / camion. Pagina delle visualizzazioni con argomento = veicoli / camion.

Questo è di proposito. Il mio obiettivo era quello di mostrare tutti i risultati di quel tipo di contenuto quando non era presente un argomento e, quando era presente, avrebbe filtrato soprattutto i risultati in base a quel termine di tassonomia E avrebbe mantenuto gli stessi campi e struttura come senza l'argomento (uguale a site.com/vehicles).

Il problema è che non funziona come previsto. site.com/vehicles mostra correttamente la mia vista e i relativi filtri. site.com/vehicles/trucks mostra solo l'elenco di tassonomia regolare e non formattato fornito da Drupal.

Questo perché l'argomento ID termine tassonomia non è configurato correttamente?

È un problema di peso in cui gli hook della tassonomia si attivano dopo Views? In tal caso, come posso riorganizzare i pesi qui in modo che si attivi correttamente e mi dia i risultati di cui ho bisogno?

So cosa suggerirai: Views viene fornito con vista tassonomia / termine /% per sostituire le viste predefinite drupal.

Tuttavia, questo non funzionerà nel mio caso. Ho più tipi di contenuto, ognuno con il proprio vocabolario e ciascuno con il suo campo visivo e set di campi distinti (case e automobili, ad esempio, hanno set di campi molto diversi). La tassonomia / termine /% funzionerebbe se tutti i tipi di contenuto avessero gli stessi campi, quindi potrei semplicemente imitare quelli in quella sostituzione, ma poiché non è così, come posso ottenere correttamente il mio percorso con l'argomento per mostrare i risultati in base a quel termine di vocabolario e mantenere la mia struttura di campo?

Scusami se era confuso. Un collegamento al sito per riferimento http://www.buyagainbaby.com . Il sito attualmente utilizza tassonomia / termine /% come override, ma ancora una volta, questo deve cambiare in modo che ogni vista sia responsabile di come rende il suo set di risultati basato sulla tassonomia.

Risposte:


20

Tutte queste risposte sono ottime soluzioni e grazie per aver dedicato del tempo a fornire tali risposte informative. Ashlar, la tua risposta mi ha insegnato molto sul funzionamento della tassonomia e sulla relazione tra punti di vista e tassonomia.

Ho trovato una soluzione che funziona benissimo per la mia situazione e la condividerò nel caso in cui possa aiutare anche voi ragazzi.

Come ho spiegato sopra, il mio problema era che la mia visione, senza alcun argomento, forniva i risultati che desideravo, ma la vista di tassonomia predefinita con un argomento, che non era quello che volevo.

Per risolvere questo problema, ho installato il modulo Taxonomy Display http://drupal.org/project/taxonomy_display . Ho quindi riconfigurato ogni vista in modo da avere l'ID del termine tassonomia come argomento.

La visualizzazione della tassonomia ti consente di associare un vocabolario a una vista particolare. Ora, quando clicco su veicoli / camion, che è un alias per tassonomia / termine / 3, la vista prende il sopravvento e questo viene effettivamente reso correttamente mantenendo l'integrità della struttura del campo.

Se qualcuno vuole sapere maggiori dettagli sulla configurazione, per favore fatemelo sapere.


La tua soluzione sembra un ottimo piano! Sfortunatamente, non riesco a visualizzare la "Visualizzazione tassonomia che consente di associare un vocabolario a una vista particolare" -part ... Potresti spiegarmelo un po 'più in dettaglio?
Michiel,

Una volta installato il modulo di visualizzazione della tassonomia, vedrai nelle sue opzioni di impostazione per controllare come vengono visualizzati gli elenchi dei termini di tassonomia. Views è un'opzione. Scegli la vista, quindi scegli quale elemento in quella vista desideri che gli elementi dell'elenco tassonomia assomiglino. Tutto questo presuppone che tu abbia già creato una vista che elenca i contenuti come desideri. Una volta premuto Salva, l'elenco della tassonomia assomiglia esattamente all'output della vista selezionata nelle impostazioni.
blue928,

7

Credo che ci siano diversi fattori da considerare nella tua configurazione:

  • Ogni percorso deve essere univoco per accedere a una pagina, a un termine, a una vista o a un pannello di pagina Se si dispone di due contenuti con lo stesso indirizzo, si perde il controllo della visualizzazione. Drupal dà la precedenza al termine tassonomia rispetto a Views, quindi non verrà chiamato. La definizione di View che utilizza taxonomy / term / # intercetterà il termine di tassonomia, ma come indicato, non visualizza un URL significativo.

  • Le viste non rispondono agli alias. Questo perché la prima cosa che Drupal fa con qualsiasi richiesta è convertire l'alias in uno standard di formato nodo / nid per tutto il contenuto di Drupal. Quindi nel tuo caso veicoli / camion vengono convertiti nel nodo / # assegnato alla vista. La vista non può prendere direttamente il contesto da un alias.

Per ottenere quello che vuoi fai una delle varie cose.

  • Crea un menu con i callback impostati sul percorso della tua vista. Ciò genererà l'URL corretto e consentirà alla vista di rispondere.

  • Utilizza i pannelli con Gestione pagine (in Ctools Suite) abilitato. Se si definisce un pannello Pagina definito per l'URL appropriato, è possibile posizionare la vista nel riquadro del pannello o passare il contesto dalla pagina del pannello direttamente al riquadro del contenuto di Views. Un riquadro del contenuto non ha un percorso. Sono invece necessari contesti come il percorso, impostato direttamente dal pannello della pagina, per crearne il contenuto. Questa serie di video su nodeone.se fa un ottimo lavoro dimostrando come utilizzare i pannelli e il gestore della pagina in modo efficace.

  • Un altro modo per visualizzare il contenuto delle visualizzazioni sullo schermo è utilizzare il modulo quicktabs . Non penso che si adatti alla tua situazione specifica, ma può anche toccare direttamente le viste selezionando le schede definite per una pagina.


3

Views ha una vista integrata che emula e sovrascrive i termini della tassonomia. Abilitalo semplicemente per sovrascrivere gli elenchi di tassonomia con le viste. Vista tassonomia


2

In realtà ho fatto una cosa simile qualche giorno fa. La mia soluzione non è elegante ma funziona. Quello che ho fatto è stato sovrascrivere la visualizzazione del termine Tassonomia usando i pannelli, non le viste. Ho quindi aggiunto tutte le mie diverse visualizzazioni per ciascun termine nell'area dei contenuti dei pannelli. Poiché nel mio caso ogni vista ha un filtro che lo limita ai risultati di un particolare vocabolario, quando visiti la pagina dei termini della tassonomia, mostra solo la vista per quel particolare vocabolario.

Fammi sapere se hai bisogno di ulteriori informazioni su come ho implementato questo.


Non sono un grande fan dei pannelli, ma questa è una possibile strada. Inoltre, ho seguito questo tutorial qui leveltendesign.com/blog/dustin-currie/… . Funziona perfettamente, tranne per il fatto che utilizza il numero identificativo della tassonomia ma ho bisogno del nome della tassonomia come con i trattini anziché gli spazi. Hai mai fatto qualche inganno come questo?
blue928

2
Lo facciamo sempre . Panels definisce una pagina per questo (sebbene disabilitata per impostazione predefinita) pronta all'uso, quindi difficilmente la chiamerei inelegante.
mpdonadio

Vorrei maggiori dettagli! :)
Chris Happy

1

WebbyKat ha proposto un'ottima soluzione per impostare il percorso della pagina /taxonomy/term/%anziché/categories/%

Funziona, ma riscriverà tutti i termini in un'unica vista.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.