Ga naar de hoofdinhoud

Overzicht en documentatie

In A-Parser wordt de Template Toolkit-sjabloon-engine gebruikt voor het formatteren van query's en resultaten. De sjabloon-engine maakt het mogelijk om de uiteindelijke string (bijvoorbeeld query's of resultaten) te vormen volgens de regels die in het sjabloon zijn gedefinieerd. Template Toolkit biedt tal van mogelijkheden:

  • Ondersteuning voor voorwaarden en lussen
  • Ondersteuning voor gewone variabelen (scalars), arrays en hashes (associatieve arrays)
  • Ondersteuning voor methoden voor variabelen (stringlengte, zoeken en vervangen, arraygrootte...)
  • Ondersteuning voor plug-ins en filters (weergave en formattering van datum en tijd, genereren van HTML-elementen...)

Voorbeeld van het gebruik van de sjabloon-engine

Officiële documentatie voor Template Toolkit

Een groot voordeel van deze sjabloon-engine is de beschikbaarheid van volledige documentatie in het Russisch en Engels. Hieronder staan links naar de belangrijkste secties van de documentatie:

  • Inleiding - algemene informatie
  • Syntaxis - regels en stijl voor het schrijven van sjablonen
  • Directieven - voorwaarden, lussen, filters, plug-ins en macro's
  • Variabelen - toegang tot en bijwerken van waarden van variabelen, arrays en hashes
  • Virtuele methoden - vooraf ingestelde functies voor het verwerken van variabelen, arrays en hashes
  • Plug-ins en Filters - uitgebreide mogelijkheden van de sjabloon-engine, A-Parser ondersteunt de volgende plug-ins:
    • Date - voor het genereren van geformatteerde datumstrings
    • Dumper - uitvoer van een dump van de datastructuur
    • Format - voor het maken van formatteringsfuncties op basis van de printf-syntaxis
    • HTML - voor het maken van HTML-elementen en het escapen van HTML-code
    • Filter - voor het maken en gebruiken van filters die worden gedefinieerd en beschikbaar zijn via het laden van plug-ins
    • Math - voor het gebruik van alle wiskundige functies
    • String - implementeert extra methoden voor het werken met strings
    • Table - voor het weergeven van gegevens in tabelvorm
    • URL - voor het bouwen van links
    • Wrap - voor het formatteren van alinea's
    • Iterator - voor het doorlopen van een dataset. Een iterator wordt impliciet automatisch aangemaakt door de FOREACH-directieve. Deze plug-in maakt het mogelijk om expliciet een iterator met een opgegeven naam aan te maken

Voorbeelden van gebruik

Voorbeelden van veelgebruikte sjablonen

Voorbeeld van het gebruik van de Math plug-in

Willekeurig een opgegeven aantal links selecteren:

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

Voorbeeld van een FOREACH-lus

Alle links en hun posities uit de array $serp weergeven:

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

Voorbeeld van een WHILE-lus

5 ankers uit de array $serp weergeven, beginnend bij de 3e:

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

Voorbeeld van een voorwaarde

Uitvoer van specifieke gegevens afhankelijk van de waarde van een variabele:

[% IF p1.totalcount < 1000;
query _ " - weinig\n";
ELSIF p1.totalcount < 1000;
query _ " - normaal\n";
ELSE;
query _ " - veel\n";
END %]