Ana içeriğe atla

Genel Bakış ve Dokümantasyon

A-Parser sorguları ve sonuçları biçimlendirmek için Template Toolkit şablon motoru kullanılır. Şablon motoru, şablonda belirtilen kurallara göre nihai bir dize (örneğin sorgular veya sonuçlar) oluşturmanıza olanak tanır. Template Toolkit birçok özelliğe sahiptir:

  • Koşul ve döngü desteği
  • Normal değişkenler (skalerler), diziler ve hash'ler (ilişkisel diziler) desteği
  • Değişkenler için metot desteği (dize uzunluğu, bul ve değiştir, dizi boyutu...)
  • Eklenti ve filtre desteği (tarih ve saat çıktısı ve biçimlendirmesi, HTML öğeleri oluşturma...)

Şablon motoru kullanım örneği​

Template Toolkit resmi dokümantasyonu​

Bu şablon motorunun en büyük avantajı, Rusça ve İngilizce dillerinde tam teşekküllü dokümantasyonun bulunmasıdır; aşağıda dokümantasyonun en önemli bölümlerine bağlantılar sunulmuştur:

  • Giriş - genel bilgiler
  • Sözdizimi - şablon yazım kuralları ve stili
  • Direktifler - koşullar, döngüler, filtreler, eklentiler ve makrolar
  • Değişkenler - değişkenlerin, dizilerin ve hash'lerin değerlerine erişim ve güncelleme
  • Sanal Metotlar - değişkenleri, dizileri ve hash'leri işlemek için önceden tanımlanmış fonksiyonlar
  • Eklentiler ve Filtreler - şablon motorunun gelişmiş özellikleri, A-Parser aşağıdaki eklentileri destekler:
    • Date - biçimlendirilmiş tarih dizeleri oluşturmak için
    • Dumper - veri yapısı dökümünü çıktı olarak almak için
    • Format - printf sözdizimine dayalı biçimlendirme fonksiyonları oluşturmak için
    • HTML - HTML öğeleri oluşturmak ve HTML kodunu kaçış karakterleriyle işaretlemek (escaping) için
    • Filter - eklenti yükleme yoluyla tanımlanan ve erişilebilen filtrelerin oluşturulması ve kullanılması için
    • Math - her türlü matematiksel fonksiyonu kullanmak için
    • String - dizelerle çalışmak için ek metotlar uygular
    • Table - verileri tablo biçiminde sunmak için
    • URL - bağlantılar oluşturmak için
    • Wrap - paragrafları biçimlendirmek için
    • Iterator - bir veri kümesi üzerinde gezinmek için. Yineleyici (iterator), FOREACH direktifi tarafından örtük olarak otomatik olarak oluşturulur. Bu eklenti, belirtilen bir adla açıkça bir yineleyici oluşturmaya olanak tanır

Kullanım örnekleri​

Sık kullanılan şablon örnekleri

Math eklentisi kullanım örneği​

Belirtilen sayıda bağlantıyı rastgele seçme:

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

FOREACH döngüsü örneği​

$serp dizisindeki tüm bağlantıları ve pozisyonlarını yazdırma:

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

WHILE döngüsü örneği​

$serp dizisinden 3. sıradan başlayarak 5 adet çapa metni (anchor) yazdırma:

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

Koşul örneği​

Değişkenin değerine bağlı olarak belirli verilerin çıktısını alma:

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