tvExplorer
demo en ligne (elles ne sont pas à jour

)
sample 1=>
http://www.dixsix.fr/explorer/
sample 2=>
http://www.dixsix.fr/explorer/index.php?id=406
A quoi ça sert:
tvExplorer est une extension du module tvEditor. infos ici =>
http://modxcms.com/forums/index.php/topic,9812.0.html
tvExplorer permet de restituer sur le front les Tvs et (la valeur de leurs options) selon leur type dans un formulaire de recherche.
La liste des résultats est obtenue via ditto.
L’ensemble des filtres représentant les critères de recherche sont générés automatiquement par tvExplorer.
Pour utiliser tvExplorer, vous devez installer au préalable tvEditor beta 0.8 qui ajoutera les chunks par défaut de tvexplorer
Beta 0.8 =>
http://modxcms.com/forums/index.php/topic,12602.0.html
Seules les tv de type:
-checkbox
-option
-listbox-multiple
-listbox-single
-listbox
-dropdown
sont prises en compte.
Les @BINDINGS sont supportées.
Les Parametres de tvExplorer:
Output html du formulaire
L’ensemble du code html du formulaire est réalisé à partir de chunks.
La création du formulaire repose entièrement sur la class makeForm de Jason (openGeek)
&formTpl: le chunk du formulaire
Il contient obligatoirement les placeholders suivants
[+action+] => url ou id
[+name+]=> nom du formulaire
[+method+]=> methode d’envoi du formulaire
[+tvEditorForm+] => Sera remplacé par les éléments constituant le formulaire.
Ex:
<form action="[+action+]" name="[+name+]" id="[+name+]" method="[+method+]">
[+tvEditorForm+]
</form>
Pour restituer les éléments on va utiliser quasi systématiquement deux chunks:
- un pour envelopper la série d’élements
- et un pour rendre chacun des éléments.
Ex: Une série de checkbox
L’élement enveloppant est &listCheckTpl, il contient un placeholder([+listCheckbox+]) qui sera remplacé par les options de la TV
&listCheckTpl:
<fieldset>
[+listCheckbox+]
</fieldset>
Chaque checkbox sera restituée en utilisant &listCheckItemTpl
&listCheckItemTpl:
<label class="checkbox" [+for+]>
<input class="checkbox" type="[+type+]" [+id+] name="[+name+]" [+value+][+size+][+checked+][+disabled+][+style+][+events+]/>[+label+]
</label>
[+extra+]
Ex: une série de radio
L’élement enveloppant est &listRadioTpl, il contient un placeholder([+listRadioItem+]) qui sera remplacé par les options de la TV sous la forme d’input type radio
&listRadioTpl:
<fieldset>
[+listRadioItem+]
</fieldset>
&listRadioItemTpl:
<label class="radio[+required+][+optional+]" for="[+name+]">
<input class="radio" type="[+type+]" id="[+name+]" name="[+name+]" [+value+][+size+][+checked+][+disabled+][+style+][+events+]/>[+label+]
</label>[+extra+]
etc ...
En résumé les parametres pour gérer l’output du formulaire sont
&formTpl = chunk général du formulaire
- Tv de type text
&mitTpl = chunk enveloppant les éléments de type="text"
&inputTextTpl = chunk restitutant les éléments de type="text"
- Tv de type dropdwon, listbox
&selectTpl = chunk enveloppant les éléments de type="select"
&optionTpl = chunk restituant les options du select
- Tv de type checkbox
&listCheckTpl = chunk enveloppant les éléments de type="checkbox"
&listCheckItemTpl = chunk restituant les éléments de type="checkbox"
- Tv de type option("radio")
&listRadioTpl = chunk enveloppant les éléments de type="radio"
&listRadioItemTpl = chunk restituant les éléments de type="radio"
//ces derniers chunks ne devraient pas être utilisés
//je les retirerai certainement de la version finale
&hiddenTpl = chunk restituant les éléments de type="hidden"
&submitTpl = chunk restituant les éléments de type="submit"
Une série de chunks utilisés par défaut est livrée avec le module tvEditor
Gestion des filtres et personnalisation
Pour déterminer les filtres à utiliser pour chaque TV et ajouter/écraser/modifier certaines valeurs on utilise un chunk &chunkExtra
La création de ce chunk est obligatoire pour le bon fonctionnement du snippet.
La syntaxe à utiliser dans le chunk
nom_de_la_tv::nom_propriete==valeur_propriete
ex:tagsPhoto::filter==1::question==<h3>La photo doit contenir les tags suivants</h3>
Vous devez obligatoirement specifie un filter pour chaque TV
Pour restituer "question" dans le chunk enveloppant la tv on devra rajouter le placeholder [+question+]
<fieldset>
[+question+]
[+listRadioItem+]
</fieldset>
Selection des TVs intégrées dans le formulaire et la recherche:
&selectTV= liste des noms des tvs séparés par une virgule
Ex: &selectTV=`tagsPhoto,typeRecette`
Parametre Ditto
&dittoName = nom du snippet ditto à utiliser
&dittoSnippetParameters = >Les autres parametres sont ceux du snippet ditto.
Ils doivent être passé sous la forme param:value|param:value
&dittoSnippetParameters=`summarize:25|depth:4|paginate:1`
Les parametres &tags, &tagData, &tagMode et &filter ne doivent pas être incorporés à l’appel.
Ces derniers seront créés par tvExplorer automatiquement.
Exemple d’utilisation:
Pour incorporer l’output du formulaire dans vos pages vous devez placer à la suite de l’appel de tvExplorer, le placeholder
[+tve.searchForm+]
La liste des résultats:
[+tve.dittoList+]