Aperçu et documentation
Dans A-Parser, le moteur de gabarits Template Toolkit est utilisé pour le formatage des requêtes et des résultats. Le moteur de gabarits permet de former la chaîne finale (par exemple, des requêtes ou des résultats) selon les règles définies dans le gabarit. Template Toolkit offre de nombreuses possibilités :
- Prise en charge des conditions et des boucles
- Prise en charge des variables ordinaires (scalaires), des tableaux et des hashs (tableaux associatifs)
- Prise en charge des méthodes pour les variables (longueur de chaîne, recherche et remplacement, taille de tableau...)
- Prise en charge des plugins et des filtres (affichage et formatage de la date et de l'heure, génération d'éléments HTML...)
Exemple d'utilisation du moteur de gabarits
Documentation officielle de Template Toolkit
L'un des grands avantages de ce moteur de gabarits est l'existence d'une documentation complète en russe et en anglais. Voici les liens vers les sections les plus importantes de la documentation :
- Introduction - informations générales
- Syntaxe - règles et style d'écriture des gabarits
- Directives - conditions, boucles, filtres, plugins et macros
- Variables - accès et mise à jour des valeurs des variables, tableaux et hashs
- Méthodes virtuelles - fonctions prédéfinies pour le traitement des variables, tableaux et hashs
- Plugins et Filtres - fonctionnalités avancées du moteur de gabarits, A-Parser prend en charge les plugins suivants :
- Date - pour générer des chaînes formatées avec des dates
- Dumper - affichage du dump de la structure de données
- Format - pour créer des fonctions de formatage basées sur la syntaxe printf
- HTML - pour créer des éléments HTML et échapper le code HTML
- Filter - pour créer et utiliser des filtres définis et accessibles via le chargement de plugins
- Math - pour utiliser n'importe quelles fonctions mathématiques
- String - implémente des méthodes supplémentaires pour travailler avec les chaînes
- Table - pour présenter les données sous forme de tableau
- URL - pour construire des liens
- Wrap - pour le formatage des paragraphes
- Iterator - pour parcourir un ensemble de données. Un itérateur est créé implicitement et automatiquement par la directive FOREACH. Ce plugin permet de créer un itérateur explicitement avec un nom spécifié
Exemples d'utilisation
Exemples de gabarits fréquemment utilisés
Exemple d'utilisation du plugin Math
Sélectionner aléatoirement un nombre spécifié de liens :
[% limit = 5;
USE Math;
FOREACH i IN [1..5];
n = Math.rand(intlinks.size);
intlinks.$n.link _ "\n";
END %]
Exemple de boucle FOREACH
Afficher tous les liens et leurs positions à partir du tableau $serp :
[% FOREACH item IN p1.serp;
loop.count _ ' - ' _ item.link _ "\n";
END %]
Exemple de boucle WHILE
Afficher 5 ancres du tableau $serp, en commençant par la 3ème :
[% n = 2;
WHILE n < 7;
p1.serp.${n}.anchor _ "\n";
n = n + 1;
END %]
Exemple de condition
Affichage de certaines données en fonction de la valeur d'une variable :
[% IF p1.totalcount < 1000;
query _ " - peu\n";
ELSIF p1.totalcount < 1000;
query _ " - normal\n";
ELSE;
query _ " - beaucoup\n";
END %]