Alors c’est pas trop compliqué en fait
S’agit de savoir quelle méthode est la meilleure des filtres ou des tagMode
Avec les filtres
[!Ditto? &startID=`59` &tagData=`tvEstConcours` &filter=`tvEstConcours,oui` &multiLevel=`1` &depth=`3`!]
NDLR: si le document dans lequel la liste est produite n’a pas la/les tvs attachées à son template rajouter le param &hiddenTVs= liste de noms des tv (sans le prefixe tv) séparés par une virgule
Pour appliquer plusieurs filtres il faut les séparer avec un pipe => |
Un filtre comprend 3 parties:
1 - une propriete de l’object document OU une tv dont le nom est préfixé de "tv",
2 - la valeur recherchée
3 - la méthode de filtrage à appliquer
On sépare les différentes parties avec des virgules
Il existe différentes méthode de filtrage ==,!=,>,< et qqs autres on les appelle avec un numero ou leur symbole (voir classe filter). Par défaut le filtre est !=.
Avec les tagMode
[!Ditto? &startID=`59` &tagData=`tvEstConcours` &tagMode=`onlyTags` &multiLevel=`1` &tags=`oui` &depth=`3`!]
le tagMode définit la regle de filtrage.
Dans ton cas tu as une seule Tv donc "onlyTags" suffit, il retourne tous les docs qui ont la valeur "tags" recherchée pour la tv "tagData".
Si tu filtres sur plusieurs tagData, pense à rajouter le param &tagDelimiter qui correspond à la valeur assignée au widget delimited list dans les propriétés de la TV
:-)
P.S: on peut cumuler les deux méthodes
Clair et précis !
Ca ferait un bon tuto ça, sur le wiki !
:)
.: COO - Commerce Guys - Community Driven Innovation :.
MODx est l'outil id
Rhaaaaa mais oui mais c’est bien sûr ! On m’aurait posé la question, la première réponse que j’aurai donnée était qu’il manquait le préfixe tv lol... et je l’ai même pas vu.
Merci Helio et je rejoins David : très bonnes explications !
Les filtres (==,!=, etc...), je l’ai mets en 3ème argument du paramètre &filter ?
Il y a une erreur dans mon post je vais la corriger.
Le filtre par défaut est 1 soit !=
En fait,il faut prendre le problème à l’envers.
Parmi la liste de documents trouvés par ditto dans l’arborescence correspondant à ton startID et depth, il va éliminer tous ceux qui ne correspondent pas au filtre.
Dans ton cas il faut éliminer de la liste tous les documents pour lesquels la valeur de ta tv != oui
:-)
P.S: je tacherai de reformuler ça dans des termes plus clairs.