CopixList?

CopixList? est un outil qui permet de très facilement pouvoir créer un système d'affichage et de recherche dans une liste de donnée.

CopixList? se base sur les données qu'il récupère grâce à des datasources (de base Copix fournit un datasource correspondant au DAO)

Liste simple

Pour afficher une liste simple, sans recherche, il vous suffit de faire un template avec cette balise Vous avez une table 'mydao' qui a comme champ 'id', 'caption', 'description'

{copixlist_list list='my_list' dao='mydao' mapping="caption=>Titre;description=>Description de champ"}
  • list='my_list' correspondant a l'identifiant de notre copixlist, c'est lui qui permet de stocker nos données en session. Il devra donc est rapellé sur chaque copixlist que l'on utilisera pour pouvoir associé les champs de recherche, et les lists ensembles.
  • dao='mydao' est un paramètre pour défnir quel dao vous voulez utiliser.
  • mapping="caption=>Titre;description=>Description de champ" Le mapping

Par défaut le datasource est DAO mais vous pouvez définir vous meme des datasources

Les paramètres de ce tag ne sont pas figé, effectivement, tout les paramètres sont passé a votre datasource ce qui vous permet donc de préciser ici les paramètres nécéssaire a son instanciation.

Avec des recherches c'est mieux

Pour afficher des champs de recherches, il vous suffit de rajouter les tags suivant

{copixlist_start list='my_list' }
{copixlist_field list='my_list' field=caption type='like'}
{copixlist_submit list='my_list' }
  • Le premier ,'start' ouvre notre formulaire de recherche
  • Le deuxième, "field" nous affiche notre champ de recherche, sa propriété field (ici égal a caption) spécifie sur quel champ se portera la recherche, sa propriété type définit qu'elle est le type de champ de recherche, dans notre cas ce sera un type like (+ d'infos sur les types champs de recherche)
  • Le troisième, submit" fait aparaitre les boutons pour lancer la recherche si vous ne voulez pas de boutons vous devez quand meme mettre le tag submit mais en precisant button=false

(Attention, les recherches sont faites en javascript avec ajax_mootools donc vérifier d'avoir mootools qui est de base dans le theme de copix par défaut)

Un tableau complexe facile à faire

Si le mapping vous est insuffisant, vous pouvez utiliser un template externe.

{copixlist_list" list='my_list' dao='mydao' tpl='my_modules|my_template'}

Ensuite dans votre template, vous pouvez utiliser des variables "spéciales" qui sont :

  • $results qui correspond à un tableau d'objet représentant le résultat de votre recherche
  • $listid qui correspond a l'idée de votre copixlist (le paramètre list de vos tag de tout a l'heure)