[BUG?] - Taxonomy Term ID (with depth) e "Term IDs separated by , or +" - grande dilemma!

7 contenuti / 0 new
Ultimo contenuto
[BUG?] - Taxonomy Term ID (with depth) e "Term IDs separated by , or +" - grande dilemma!

Ciao a tutti :-)
Premetto che la Views di cui parlo è la versione 6.x-2.12.

Il problema è il seguente... ed è pure molto strano a mio avviso:
Prendiamo in considerazione l'esempio seguente riguardande il Taxonomy Term ID (with depth) caricato dentro ad un Arguments:

Action to take if argument is not present: Display all values
Wildcard: all
Validator: Taxonomy term
Argument type: Term IDs separated by , or +
Allow multiple terms per argument: flagged

Ora, consideriamo i seguenti ID di una tassonomia gerarchica:

10
----- Figlio: 11
----------- subFiglio: 21
----- Figlio: 12
----------- subFiglio: 22
----- Figlio: 14
----------- subFiglio: 23
----- Figlio: 14
----------- subFiglio: 22

30
----- Figlio: 41
----------- subFiglio: 23
----- Figlio: 42
----------- subFiglio: 52
----- Figlio: 43
----------- subFiglio: 23
----- Figlio: 44
----------- subFiglio: 54

Provate ad applicare i seguenti metodi di filtraggio:

cerca per: 10 - (inviando questo valore mostrerà correttamente tutte le righe che hanno come padre 10)

cerca per: all - (inviando questo valore mostrerà correttamente tutte le righe sia del padre 10 che del padre 30)

cerca per: 10+11 - (ERRATO, perché visualizzerà tutte le righe con padre 10... mentre dovrebbe visualizzare solo una riga, cioè quella con padre 10 il cui figlio è 11)

cerca per: 10+11+21 - (ERRATO, perché anche in questo caso visualizzerà tutte le righe con padre 10... mentre dovrebbe visualizzare solo una riga, cioè quella con padre 10 il cui figlio è 11)

cerca per: 10+all+22 - (ERRATO, perché NON visualizzerà nulla... mentre dovrebbe visualizzare le due righe con padre 10 e con subFiglio 22, cioè: 10+12+22 e 10+14+22)

cerca per: 10+14+all - (ERRATO, perché NON visualizzerà nulla... mentre dovrebbe visualizzare le due righe con padre 10 e con figlio 14, cioè: 10+14+23 e 10+14+22)

cerca per: 10+all+all - (ERRATO, perché NON visualizzerà nulla... mentre dovrebbe visualizzare tutte le righe con padre 10)

cerca per: all+all+23 - (ERRATO, perché NON visualizzerà nulla... mentre dovrebbe visualizzare le righe con subFiglio 23 in entrambi i padri 10 e 30)

cerca per: all+all+all - (ERRATO, perché NON visualizzerà nulla... mentre dovrebbe visualizzare tutte le righe... così come fa correttamente inviando solo un "all")

-------------------------------------------------------------------------------------------

Esiste un modo per risolvere questo problema???

e se gli passi 11? Cosa visualizza? (Domanda retorica)
se gli passi 11 è come se gli passassi il 10 del solo ramo, se gli passi 10+11 lui ti visualizzerà ciò che sta sotto il 10 e ciò che sta sotto l'11.
Se guardi come ragiona la tassonomia l'argomento è taxonomy/term/id e lui si basa su quell'id.
Per cui il problema non esiste, sei te che sbagli.
In ogni caso quegli argomenti (all cos'è, tutto? perchè lo devi passare 3 volte, oppure tutto+qualcosa, non ha senso) non li avrai mai in drupal, da nessun url creato da drupal li puoi raggiungere.

Ciao ealmuno... uhmmm... ok... capisco cosa vuoi dire... probabilmente sto sbagliando io la logica.

Ti posso chiedere un favore?
Potresti farmi alcuni esempi schematizzati di come ragione il sistema?
Ho bisogno di capire come posso ragionevolmente filtrare i dati in modo da non avere risultati errati.

Tu hai detto che 10+11 visualizza sia ciò che sta sotto il 10 sia ciò che sta sotto l'11....
Quindi... se ho:

10
---11
------33

20
---11
------44

Lui mi mostrerà la riga 10, 11, 33 e la riga 20, 11, 44?
Perchè se è così allora è illogico... io pensavo funzionasse a "priorità"... cioè... pensavo che dire
10+11 significasse "mostra tutto ciò che ha come padre 10 e come figlio 11".

O son io che sto facendo una gran confusione?

e mettere solo 11 significa mostra tutto ciò che sta sotto 11, che è ciò che sta sotto 10 e che è sotto 11, se ragioni come te fai duplicati.
Per esempi alla fine li hai fatti te, fai le prove e vedi i risultati, come nel primo post.
Se dici cosa vuoi fare magari riusciamo ad uscirne.

Ok.. dunque... metti il caso che hai:

10
---22
------33

10
---23
------33

11
---24
------33

Come faccio a filtrare in modo tale da darmi solo i 33 che hanno padre 11?

Situazione impossibile, un termine con quell'id mica può stare ovunque, o è figlio di uno o di un'altro, altrimenti devi usare le relazioni, ma è tutto un altro discorso.

Scusa se rispondo solo adesso... avevi perfettamente ragione!!
:-) Grazie di cuore per il tuo supporto!