Vai al contenuto principale

Panoramica e documentazione

In A-Parser, il motore di template Template Toolkit viene utilizzato per formattare query e risultati. Il motore di template consente di formare la stringa finale (ad esempio query o risultati) secondo le regole specificate nel modello. Template Toolkit offre molteplici funzionalità:

  • Supporto per condizioni e cicli
  • Supporto per variabili comuni (scalari), array e hash (array associativi)
  • Supporto per metodi per le variabili (lunghezza della stringa, ricerca e sostituzione, dimensione dell'array...)
  • Supporto per plugin e filtri (output e formattazione di data e ora, generazione di elementi HTML...)

Esempio di utilizzo del motore di template

Documentazione ufficiale di Template Toolkit

Un grande vantaggio di questo motore di template è la presenza di una documentazione completa in russo e inglese; di seguito sono riportati i link alle sezioni più importanti della documentazione:

  • Introduzione - informazioni generali
  • Sintassi - regole e stile di scrittura dei modelli
  • Direttive - condizioni, cicli, filtri, plugin e macro
  • Variabili - accesso e aggiornamento dei valori di variabili, array e hash
  • Metodi virtuali - funzioni preimpostate per l'elaborazione di variabili, array e hash
  • Plugin e Filtri - funzionalità avanzate del motore di template, A-Parser supporta i seguenti plugin:
    • Date - per generare stringhe formattate con date
    • Dumper - output del dump della struttura dati
    • Format - per creare funzioni di formattazione basate sulla sintassi printf
    • HTML - per creare elementi HTML ed eseguire l'escape del codice HTML
    • Filter - per creare e utilizzare filtri definiti e accessibili tramite il caricamento del plugin
    • Math - per utilizzare qualsiasi funzione matematica
    • String - implementa metodi aggiuntivi per lavorare con le stringhe
    • Table - per rappresentare i dati in forma tabellare
    • URL - per costruire link
    • Wrap - per formattare i paragrafi
    • Iterator - per scorrere un set di dati. L'iteratore viene creato automaticamente in modo implicito dalla direttiva FOREACH. Questo plugin consente di creare un iteratore esplicitamente con un nome specificato

Esempi di utilizzo

Esempi di modelli utilizzati di frequente

Esempio di utilizzo del plugin Math

Selezionare casualmente un numero specificato di link:

[% limit = 5;
USE Math;
FOREACH i IN [1..5];
n = Math.rand(intlinks.size);
intlinks.$n.link _ "\n";
END %]

Esempio di ciclo FOREACH

Visualizzare tutti i link e le loro posizioni dall'array $serp:

[% FOREACH item IN p1.serp;
loop.count _ ' - ' _ item.link _ "\n";
END %]

Esempio di ciclo WHILE

Visualizzare 5 anchor dall'array $serp, a partire dal terzo:

[% n = 2;
WHILE n < 7;
p1.serp.${n}.anchor _ "\n";
n = n + 1;
END %]

Esempio di condizione

Output di determinati dati a seconda del valore della variabile:

[% IF p1.totalcount < 1000;
query _ " - poco\n";
ELSIF p1.totalcount < 1000;
query _ " - normale\n";
ELSE;
query _ " - molto\n";
END %]