DÖNGÜLER sayfayı mantıksal olarak yapılandırmaya olanak tanırlar, geriye verileri estetik biçimde görüntülemek kalır. SPIP bu konuda bir şey yapamaz, sizin filtreleri kullanmayı bilmeniz gerekir.
Veritabanındaki bir veri metin biçiminde saklanmış bir bloktur ve ekranda göstermeden önce bu içeriği düzenlemek isteyebilirsiniz. Filtreler işte tam bu iş için vardır :
- en sık kullanılan filtreler (otomatik olarak çağırılırlar) |typo
ve |propre
erı; ilki tipografik bir düzeltme gerecidir; aslî görevi gerekli yerlere bölünemez boşluklar eklemektir (çevrimiçi SPIP yardımları gibi ); ikincisi paragraflarla ve SPIP kısayollarıyla (italik, koyu, ara-başlık vb.) - uzun metinlere varsayılan değer olarak uygulanır (#TEXTE
, #CHAPO
vb.)
- diğer kullanışlı filtreler : |majuscules
(büyük harf), |justifier
veya |aligner_droite
(sağ sol sınırlara göre metni yerleştirir) veya |saison
(eğer değişken 21 Haziran ile 20 Edlül arasındaysa « yaz » yazan filtre)...
Bir filtreyi kullanmabilmek için değişkeni parantez ve köşeli parantez içine almak gerekir (şartları daha sonra göreceğiz) : [bla bla (#VARIABLE|filtre) blo blo]
Filtreler birbiri peşisıra kulanılabilir [1] : bu yöntemde [(#DATE|saison|majuscules)]
bize «KIŞ» çıktısını verecektir.
Önceki derslerin tamamını kapsayan bir egzersiz : Konu olarak seçilen ana başlıkta yazılmış olan son 10 makalenin başlıklarını büyük harflerle yazdırınız ve gösterilecek sayfanın başlığına o anki mevsimin adını yazdırınız (yani son makalenin yazıldığı mevsimin adını).
...
Pekiyi bu köşeli parantezler niye? Veritabanınızda tarih içeren ve içermeyen makaleler olduğunu varsayalım. İlk makalede #DATE değişkeni (mySQL formatında) «2001-07-01 10-53-01» ve ikinci makalede de «0000-00-00 00-00-00» olsun. Bunları, iskelette, düzgün bir (?) çerçeve içinde gösterebilmek için şu satırlar kullanılmalıdır:
[<table border="1"><tr><td>
(#DATE|affdate)
</td></tr></table>]
Burada |affdate
filtresi tarihi yazıya dönüştürür (« 1 temmuz 2001 ») ama tarih belirsizse boş bir zincir oluşturur («0000...»). Köşeli parantezler eğer köşeli parantezler içindeki sonuç boş bir zincir değilse tarihin etrafında gösterilecekleri belirtirler.
Sonuç: sadece tarih içeren makaleler tarih içeren bir tablo oluşmasını tetikler. İyi oluşturulmuş bir iskelet, içeriğe bağlı olarak ne gösterileceğini veya gösterilmeyeceğini belirler... Filtreler bu işe de yarar.