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 för variabler, arrayer och hashar
  • Virtuella metoder - förinställda funktioner för bearbetning av variabler, arrayer och hashar
  • Insticksmoduler och Filter - utökade funktioner i mallmotorn, A-Parser stöder följande insticksmoduler:
    • Date - för att generera formaterade datumsträngar
    • Dumper - utmatning av datastrukturdump
    • Format - för att skapa formateringsfunktioner baserade på printf-syntax
    • HTML - för att skapa HTML-element och escape-hantering av HTML-kod
    • Filter - för att skapa och använda filter som definieras och görs tillgängliga via laddning av insticksmodul
    • 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 genomgång av datamängder. 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 %]