Hoppa till huvudinnehåll

Översikt och dokumentation

I A-Parser används mallmotorn Template Toolkit för att formatera frågor och resultat. Mallmotorn gör det möjligt att utforma den slutliga strängen (till exempel frågor eller resultat) enligt regler som definierats i mallen. Template Toolkit har många funktioner:

  • Stöd för villkor och loopar
  • Stöd för vanliga variabler (skalärer), arrayer och hashar (associativa arrayer)
  • Stöd för metoder för variabler (stränglängd, sök och ersätt, arraystorlek...)
  • Stöd för insticksmoduler och filter (utmatning och formatering av datum och tid, generering av HTML-element...)

Exempel på användning av mallmotorn

Officiell dokumentation för Template Toolkit

En stor fördel med denna mallmotor är tillgången till fullständig dokumentation på ryska och engelska, nedan finns länkar till de viktigaste avsnitten i dokumentationen:

  • Introduktion - allmän information
  • Syntax - regler och stil för att skriva mallar
  • Direktiv - villkor, loopar, filter, insticksmoduler och makron
  • Variabler - åtkomst och uppdatering av värden i variabler, arrayer och hashar
  • Virtuella metoder - förinställda funktioner för bearbetning av variabler, arrayer och hashar
  • Insticksmoduler och Filter - avancerade funktioner i mallmotorn, A-Parser stöder följande insticksmoduler:
    • Date - för att generera formaterade strängar med datum
    • Dumper - utmatning av datastrukturens dump
    • Format - för att skapa formateringsfunktioner baserade på printf-syntax
    • HTML - för att skapa HTML-element och maskera HTML-kod
    • Filter - för att skapa och använda filter som definieras och görs tillgängliga via laddning av insticksmoduler
    • Math - för att använda valfria matematiska funktioner
    • String - implementerar ytterligare metoder för arbete med strängar
    • Table - för att presentera data i tabellform
    • URL - för att bygga länkar
    • Wrap - för formatering av stycken
    • Iterator - för att iterera genom en datamängd. En iterator skapas implicit automatiskt av FOREACH-direktivet. Denna insticksmodul gör det möjligt att skapa en iterator explicit med ett angivet namn

Exempel på användning

Exempel på ofta använda mallar

Exempel på användning av insticksmodulen Math

Välj slumpmässigt ett angivet antal länkar:

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

Exempel på FOREACH-loop

Visa alla länkar och deras positioner från arrayen $serp:

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

Exempel på WHILE-loop

Visa 5 ankare från arrayen $serp, med början från den 3:e:

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

Exempel på villkor

Utmatning av specifika data beroende på variabelns värde:

[% IF p1.totalcount < 1000;
query _ " - få\n";
ELSIF p1.totalcount < 1000;
query _ " - normalt\n";
ELSE;
query _ " - många\n";
END %]