Bonjour Internet, je suis Bernard Sfez, spécialiste Tiki, et dans ce tutoriel nous allons voir ensemble l’utilisation de base de mon plugin préféré dans Tiki :
le plugin List, un plugin wiki capable de récupérer et d’afficher des données provenant de vos Trackers, Galeries de fichiers, Forums, Blogs — bref, presque tout dans Tiki.

Et oui… dans mon précédent Tiki Express Tutorial, j’avais annoncé que nous parlerions du plugin customSearch. Mais comme customSearch utilise la syntaxe du plugin List, il était plus logique d’apprendre d’abord l’utilisation et la syntaxe du plugin List, puis d’aborder customSearch.

Mais avant de commencer, j’ai eu une merveilleuse surprise : Erich, depuis l’Allemagne, m’a envoyé un ancien pistolet original Guncon pour Playstation. Juste incroyable, je t’en remercie vraiment, mon ami.
J’ai une vieille console à restaurer et cela complètera parfaitement l’ensemble.
Un grand merci ❤️

Si vous avez vous aussi de vieux systèmes de jeux vidéo ou du matériel de guitare inutilisé, ne les jetez pas ! Aidez la planète : envoyez-les-moi et ils auront une seconde vie.
C’est une excellente façon de soutenir ma chaîne Tiki et de remplir ma barre d’énergie « une vidéo par mois ».

Revenons à Tiki.
Tiki 21 Alpha est sorti et bientôt une nouvelle version LTS (Long Term Services) sera disponible avec une liste impressionnante de nouveautés. Vous pouvez suivre l’avancement sur dev.tiki.org/tiki21 et doc.tiki.org/tiki21 — les liens seront dans la description de ce Tiki Express Tutorial.
Pour cette vidéo, j’ai mis à jour un Tiki 20 vers Tiki 21 Alpha afin de démontrer la puissance du plugin List.

Assez d’introduction, commençons.

Grâce aux esprits les plus brillants de notre communauté, Tiki intègre le plugin wiki List : un plugin extrêmement puissant et flexible capable de récupérer toutes les données indexées dans l’Index Unifié.

Si vous avez des données à collecter, afficher, rechercher, filtrer, partager, etc., l’utilisation du plugin List est indispensable. Ses options et ses méthodes d’intégration ne cessent de s’améliorer, faisant de Tiki un véritable constructeur d’applications web.
Comme mentionné, il peut être combiné avec le plugin CustomSearch, mais aussi avec d’autres fonctionnalités comme les pages wiki ou des plugins tels que PluginListExecute.

L’Index Unifié de Tiki

Le plugin List utilise l’Index Unifié de Tiki pour récupérer les données.
Ce qui n’est pas dans l’Index Unifié ne pourra pas être trouvé avec le plugin List. Une compréhension minimale de son fonctionnement est donc recommandée.

Vous y trouverez des données issues de vos propres entrées (comme le titre d’une page wiki ou la valeur d’un champ de tracker), mais aussi des données générées par Tiki, comme la date de modification d’un objet.

Comment actualiser l’Index Unifié

L’Index Unifié doit être reconstruit régulièrement pour rester à jour et refléter l’état réel de votre Tiki.

Cela se fait via :
Panneau de contrôle → Recherche → Reconstruire l’index.

Si vous avez une grande quantité de données (pages, éléments, fichiers, messages de forum, etc.), l’opération peut prendre du temps. Il peut être nécessaire d’augmenter la mémoire et le délai d’exécution au-delà des valeurs par défaut.

Personnellement, sur les Tiki dont je m’occupe, je configure une tâche planifiée (Tiki Scheduler) qui reconstruit automatiquement l’index via la Console intégrée en ligne de commande.

Les blocs de contrôle du plugin List

Le plugin List utilise différents blocs de contrôle :

  • PAGINATION : pour gérer la pagination
  • FILTER et SORT : pour filtrer et trier les données
  • OUTPUT : pour produire les résultats
  • FORMAT : pour formater les données
  • DISPLAY : pour afficher les données

Un bloc ALTERNATIVE peut aussi être défini afin d’afficher un contenu lorsqu’aucun résultat n’est trouvé.

La PAGINATION limite le nombre de lignes affichées.
FILTER et SORT filtrent selon des critères précis (tracker_id, utilisateur, date, etc.) et définissent l’ordre des résultats.
OUTPUT définit le modèle d’affichage :

  • Modèle intégré (table, carousel, media…)
  • Modèle wiki personnalisé
  • Modèle Smarty personnalisé
  • Modèle inline

FORMAT sert à formater les valeurs (dates lisibles, étiquettes issues de menus déroulants, valeurs par défaut, etc.).
DISPLAY permet d’afficher une valeur spécifique dans FORMAT ou OUTPUT.

Créons notre premier pluginList simple

J’ouvre un Tiki initialement en version 20 et mis à jour vers Tiki 21 Alpha.
Il contient déjà des données liées à la vente et location de biens immobiliers.

Je commence par écrire les balises du plugin List et j’ajoute un filtre pour ne récupérer que les objets dont le tracker_id est égal à 3.

Après sauvegarde, j’obtiens une liste des éléments du tracker 3.

J’ajoute une pagination pour limiter le nombre d’éléments affichés.
Puis un tri numérique ascendant sur le titre.

Ensuite, je définis ce que je veux afficher via un bloc OUTPUT.
J’utilise un bloc DISPLAY pour afficher le numéro ASP (référence interne du bien).

Je dois préfixer le nom du champ avec tracker_field_.
Exemple : tracker_field_catalogueDesBiensNumeroASP

Pour afficher la valeur lisible d’un menu déroulant, j’ajoute _text au permaname.

Astuce importante : si la valeur affichée semble incorrecte, il s’agit souvent de la valeur interne stockée. On peut aussi corriger cela via le bloc FORMAT.

Utiliser intelligemment le bloc ALTERNATIVE

Si aucun résultat n’est trouvé, le message par défaut est :
« No results for query. »

Nous pouvons personnaliser ce message grâce au bloc ALTERNATIVE.
Il accepte la syntaxe wiki et les plugins wiki.

Par exemple, j’utilise le plugin remarksbox pour afficher un message plus clair.
On peut y ajouter du texte explicite, des boutons, des icônes, etc.

Configurer un pluginList avec un modèle (template)

Je définis template="table" dans OUTPUT.
Je déclare ensuite les colonnes avec un label et une référence de champ.

Exemple :

  • Numéro ASP
  • Type (vente ou location)
  • Ville
  • Prix

Le type affiche encore une valeur interne.
J’ajoute un FORMAT avec format="trackerrender".
J’utilise aussi le paramètre default pour définir une valeur par défaut si le champ est vide.

Afficher des fichiers avec un carrousel

On peut également travailler avec des fichiers et images.

Je filtre les fichiers dont le titre contient un numéro ASP.
Puis, j’utilise template="carousel".

Dans FORMAT, j’emploie le plugin img avec fileId="object_id" pour afficher les images.

Résultat : un carrousel fonctionnel.
Ensuite, on peut affiner le design via Bootstrap et CSS.

Comment utiliser un modèle Smarty (template)

J’ai créé un exemple utilisant un modèle Smarty.

Un pluginList retourne les éléments d’un tracker.
À partir d’une valeur retournée, un second pluginList récupère une image correspondante dans la galerie de fichiers.

Avec Smarty et Tiki, on peut manipuler des variables, effectuer des calculs, travailler avec des dates, etc.
Les possibilités sont pratiquement illimitées.

Outils de dépannage et de débogage

Si vous ne savez pas quelles données sont disponibles, utilisez le template debug.

Via :
Paramètres → Panneau de contrôle → Recherche → Onglet Outils.

Collez votre code et utilisez output(template="debug").
Vous verrez toutes les valeurs exploitables pour créer des rapports, listes, calculs, etc.

Avec du travail et de la patience, vous pouvez exploiter pleinement vos données avec Tiki.
C’est pour cela que je dis que Tiki est un véritable constructeur d’applications web.

Conclusion

Commencez dès aujourd’hui. Expérimentez, lisez la documentation, échouez, recommencez.
Utilisez le forum, demandez de l’aide ou engagez un consultant Tiki.

Ce n’est pas simple au début, mais en copiant/collant puis en comprenant progressivement, vous progresserez.

J’espère que ce tutoriel vous a plu.
Dites-le-moi en commentaire, aimez et partagez la vidéo.
Je publierai une nouvelle vidéo le mois prochain, avec d’autres tutoriels sur le plugin List et les trackers.

Abonnez-vous et activez la cloche YouTube pour ne rien manquer.

Je réfléchis aussi à un format questions/réponses mensuel ou à un live.
Si vous avez des idées, laissez un commentaire.

Merci encore d’avoir regardé ce Tiki Express Tutorial,
et que la puissance de Bootstrap et de Tiki soit avec vous.

Bêtisier

… Il faut le voiiiiiirrrr ! 😄

Interesting links

https://dev.tiki.org/Tiki21
https://doc.tiki.org/Tiki21
https://doc.tiki.org/Unified-Index
https://doc.tiki.org/Console

https://doc.tiki.org/PluginList
https://tiki.org/consultants
https://tiki.org/forums
https://tiki.org/Support

Copy to clipboard
{LIST()} {filter field="tracker_id" content="yourtrackerid" } {pagination max="3"} {sort mode="title_nasc"} {OUTPUT(template="table")} {column label="ASP" field="asp"} {column label="Ville" field="ville"} {column label="Type" field="type" sort="tracker_field_yourfieldpermaname"} {column label="Price" field="price"} {OUTPUT} {FORMAT(name="asp")}{display name="title"}{FORMAT} {FORMAT(name="ville")}{display name="tracker_field_yourfieldpermaname"}{FORMAT} {FORMAT(name="type")}{display name="tracker_field_yourfieldpermaname" format="trackerrender" default="empty"}{FORMAT} {FORMAT(name="price")}{display name="tracker_field_yourfieldpermaname"}{FORMAT} {ALTERNATE()}{REMARKSBOX(type="warning" title="Yourtext." close="y")}{REMARKSBOX}{ALTERNATE} {LIST}

Copy to clipboard
{LIST()} {filter type="file"} {filter field="title" content="yourvalue"} {OUTPUT(template="carousel")} {carousel interval="2000" wrap="true" pause="hover" id="mycarousel"} {body field="photo" mode="raw"} {display name="photo"} {OUTPUT} {FORMAT(name="photo")}{display format="wikiplugin" name="wikiplugin_img" fileId="object_id" styleimage="width:100%"}{FORMAT} {LIST}

Copy to clipboard
{LIST()} {filter content="3" field="tracker_id"} {output(template="debug")} {LIST}