Pasticcio con views, taxonomy e tags

14 contenuti / 0 new
Ultimo contenuto
Pasticcio con views, taxonomy e tags

Ciao,

ho creato una view molto semplice per visualizzare un elenco di tutti i titoli dei nodi che contengono il tag "papere", mettendo in filters: taxonomy: term = papere

Funzionare, fuziona. Però i link prodotti dalla views sono per il 70% nella forma

miosito/papere/titolo

e per il 30% nella forma

miosito/autore/lingua/titolo

Perchè!? Io vorrei ovviamente che tutti i link fossero del secondo tipo, anche per evitare duplicati inutili.

La mia taxonomy è così organizzata:

- Un vocabolario "categorie", che comprende gli autori, le lingue come sottocategorie degli autori ecc.
- Un vocabolario "tags", che comprende tutte le tag assegnate ai vari nodi

Qualche idea? Grazie! (:

EDIT: ho appena notato, cliccando su una tag qualsiasi della mia tagcloud, che metà degli articoli vengono fuori con l'url corretto e l'altra metà con l'url "sbagliato"... quindi sembrerebbe più un problema di tags che di views...

è perfettamente normale.
se hai 2 vocabolari associati allo stesso contenuto, i nodi riporteranno links ad entrambe le categorie.
E non sono duplicati.
Che tipo di vista è? nodo o campi?

La vista è l'elenco dei titoli che puntano poi alle varie pagine.

Però la cosa continua a lasciarmi perplesso, io volevo avere un articolo e un solo link per articolo.

Mettendo i tag volevo la possibilità di raggruppare gli articoli (nodi) appartenenti a categorie diverse per tag comuni.
Quindi, per es, tutti gli articoli di autori diversi (categorie diverse) ma con in comune il tag papere

Ho sbagliato a creare un nuovo vocabolario quindi? E come dovrei fare? Grazie

ripeto: se hai un nodo taggato con categorie->autore->lingua
e anche con tags->papere
il nodo sarà visibile in
miosito/autore/lingua/
E
miosito/papere/
sono due cose diverse.

Se vuoi puoi filtrare la vista per un solo vocabolario per rimuovere eventuali duplicati *in quella vista*; lo puoi fare sia con un filtro che con un argomento.
Se vuoi redirigere i link a uno dei 2 vocabolari verso altra destinazione credo dovresti usare taxonomy_redirect
Se vuoi far sparire i link a uno o tutti e 2 i vocabolari dal nodo ti consiglio term_display, ma ci sono anche altri sistemi

Per la lista non c'è problema perchè riduce in automatico a una sola occorrenza.

Però perdonami se ti chiedo ancora lumi, ma sono confuso sul piano teorico.
Io ho creato la mia tassonomia drupal perchè volevo che i contenuti del sito, e le relative url, fossero organizzati secondo lo schema sito/autore/lingua/articolo
Quindi ho creato il mio vocabolario categoria->autori->lingue e marco ogni nodo come appartenente ad autore->lingua

Poi però volevo anche poter organizzare gli articoli per i loro contenuti tematici, quindi avere delle tag tipo politica, papere, cucina da mettere in modo "trasversale" a tutti i nodi del caso.

Giustamente come mi hai detto se lo faccio con un nuovo vocabolario creo due nodi "diversi", o almeno visibili da url diversi.
Non c'è un modo diverso per fare quello che volevo senza che ciò accada?

Se mi confermi che in linea di principio non ho alternative migliori dovrò trovare almeno un modo per uniformare nella vista i link nello stesso modo, perchè altrimenti viene fuori un pasticcio terribile con tutti i nodi che linkabili in modi diversi, e forse i due moduli che mi hai cosigliato potrebbero servirmi...

grazie mille per l'aiuto (:

non ho capito quale sia questo pasticcio...
forse hai impostato il path del nodo = al path del termine?

Ti faccio un esempio che forse ci capiamo meglio (:

Il sito di Mavimo ha una categoria "chimica", e in quella sezione un articolo chiamato "produzione etanolo" la cui url e´ http://mavimo.org/chimica/produzione_etanolo

Questo articolo e´ taggato anche con "chimica", "DEF" e "etanolo". Pero´quando clicco sulla tag "etanolo" ottengo, tra gli altri, il link al suddetto articolo nella forma mavimo.org/chimica/produzione_etanolo e NON, come invece ottengo io, mavimo.org/etanolo/produzione_etanolo

Quest´ultima pagina nemmeno esiste, nel suo sito.
Io voglio fare esattamente una cosa cosi´, con tutte le url uguali nella forma categria/articolo, in questo caso chimica/articolo. Come si fa?

chimica/produzione_etanolo è l'alias del nodo
e dovrebbe essere sempre quello sia quando è elencato nella categoria etanolo, che in chimica
da quello che dici sembra che ci sia qualche errore nella definizione degli alias; come se lo stesso nodo avesse più alias costruiti su più categorie

Ecco, proprio questo intendevo! L'alias dovrebbe restare il medesimo, per es. chimica/produzione_etanolo, invece io sia nella mia vista, che nella tagcloud (banalmente il blocco tagedelic) ho gli alias tutti sballati, che puntano ai nodi un po' nella forma chimica/produzione_etanolo e un po' nella forma tagqualsiasi/prouzione_etanolo.

Quindi non è un problema della vista, ma come dici tu sembra che per ogni nodo ci siano più aliasi costruiti su più categorie... questo è il pasticcio... come è successo? E soprattutto, come lo risolvo? (:

Nel primo post ho scritto come ho organizzato la taxonomy, se può servire.

come hai definito gli alias?

Quando creo un nuovo nodo la spunta è su "automatic alias".
Nelle impostazioni di Pathauto, alla voce "Default path pattern (applies to all node types with blank patterns below): " ho messo: [termpath-raw]/[title-raw] e non ho modificato nient'altro dalle impostazioni di default.

I campi di "Taxonomy term path settings" sono tutti bianchi.

Ho scordato qualcosa?

Argh! Ho appena notato che non è affatto una duplicazione. Buona parte degli alias (ma nemmeno tutti) sono stati sostituiti ovunque con la nuova forma... è come se quando teggassi un contenuto mi ricostruisse l'alias (ma non sempre).

Dovrebbe essere questo il punto. Come posso evitarlo?

è ovvio, si crea un conflitto ogni volta che pathauto genera gli alias, visto che non è possibile definire QUALE vocabolario abbia la precedenza (e non debba essere sovrascritto).
non credo esista una soluzione interna a pathauto.
ti consiglio di
A) ripensare a come costruisci gli alias
B)oppure prova ad usare taxonomy_token che permette di distinguere i token per vocabolario

Ho trovato un workaround e scoperto che, perlomeno, non è un problema solo mio: seguendo queste indicazioni: http://drupal.org/node/206912
è stato sufficiente assegnare al vocabolario che voglio usare per costruire gli alias un peso minore rispetto agli altri: drupal in automatico infatti usa il vocabolario più leggero per costruire i suoi alias.

Di "strano" mi rimane che nella tagcloud costruita da tagedelic le tag puntano a link del tipo taxonomy/term/ID, al posto che (come nel sito di Mavimo) alle rispettive "clean urls".

Non ho provato a usare taxonomy_token come mi hai suggerito perchè mentre mi rispondevi ho trovato questo "rimedio"...

A questo punto sarei comunque curioso di sapere, se Mavimo è ancora da queste parti, se fosse così gentile da spiegarci come lui ha organizzato il doppio vocabolario/pathauto/tagedelic sul suo sito...

Comunque Bohz grazie mille per l'aiuto che fin qui mi hai dato (: