Zum Hauptinhalt springen

Übersicht und Dokumentation

In A-Parser wird die Template-Engine Template Toolkit zur Formatierung von Abfragen und Ergebnissen verwendet. Die Template-Engine ermöglicht es, die finale Zeichenfolge (z. B. Abfragen oder Ergebnisse) nach den im Template festgelegten Regeln zu bilden. Template Toolkit bietet eine Vielzahl von Möglichkeiten:

  • Unterstützung von Bedingungen und Schleifen
  • Unterstützung von gewöhnlichen Variablen (Skalaren), Arrays und Hashes (assoziativen Arrays)
  • Unterstützung von Methoden für Variablen (Stringlänge, Suchen und Ersetzen, Arraygröße...)
  • Unterstützung von Plugins und Filtern (Ausgabe und Formatierung von Datum und Uhrzeit, Generierung von HTML-Elementen...)

Beispiel für die Verwendung der Template-Engine

Offizielle Dokumentation zum Template Toolkit

Ein großer Vorteil dieser Template-Engine ist das Vorhandensein einer vollständigen Dokumentation in russischer und englischer Sprache. Unten sind Links zu den wichtigsten Abschnitten der Dokumentation aufgeführt:

  • Einführung - allgemeine Informationen
  • Syntax - Regeln und Stil beim Schreiben von Templates
  • Direktiven - Bedingungen, Schleifen, Filter, Plugins und Makros
  • Variablen - Zugriff auf und Aktualisierung von Werten von Variablen, Arrays und Hashes
  • Virtuelle Methoden - vordefinierte Funktionen zur Verarbeitung von Variablen, Arrays und Hashes
  • Plugins und Filter - erweiterte Funktionen der Template-Engine, A-Parser unterstützt die folgenden Plugins:
    • Date - zur Generierung formatierter Datumszeichenfolgen
    • Dumper - Ausgabe eines Dumps der Datenstruktur
    • Format - zur Erstellung von Formatierungsfunktionen basierend auf der printf-Syntax
    • HTML - zur Erstellung von HTML-Elementen und zum Maskieren von HTML-Code
    • Filter - zum Erstellen und Verwenden von Filtern, die über das Laden von Plugins definiert und verfügbar sind
    • Math - zur Verwendung beliebiger mathematischer Funktionen
    • String - implementiert zusätzliche Methoden für die Arbeit mit Zeichenfolgen
    • Table - zur Darstellung von Daten in Tabellenform
    • URL - zum Erstellen von Links
    • Wrap - zur Formatierung von Absätzen
    • Iterator - zum Durchlaufen eines Datensatzes. Ein Iterator wird implizit automatisch durch die FOREACH-Direktive erstellt. Dieses Plugin ermöglicht es, einen Iterator explizit mit einem angegebenen Namen zu erstellen

Anwendungsbeispiele

Beispiele für häufig verwendete Templates

Beispiel für die Verwendung des Math-Plugins

Zufällige Auswahl einer bestimmten Anzahl von Links:

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

Beispiel für eine FOREACH-Schleife

Alle Links und ihre Positionen aus dem Array $serp ausgeben:

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

Beispiel für eine WHILE-Schleife

5 Anker aus dem Array $serp ausgeben, beginnend mit dem 3.:

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

Beispiel für eine Bedingung

Ausgabe bestimmter Daten in Abhängigkeit vom Wert einer Variablen:

[% IF p1.totalcount < 1000;
query _ " - wenig\n";
ELSIF p1.totalcount < 1000;
query _ " - normal\n";
ELSE;
query _ " - viel\n";
END %]