Etiket Bulutu — tagscloud.tpl
Etiket bulutu, sitedeki haber etiketlerini boyutları kullanım sıklığına göre değişen bir liste hâlinde gösterir. Çok kullanılan etiket büyük, az kullanılan küçük görünür.
| Konu | Ayrıntı |
|---|---|
| İşleyen dosya | engine/modules/tagscloud.php |
| Kenar çubuğu bulutu | {tags} etiketi — main.tpl veya sidebar içinde |
| Tam sayfa bulut | index.php?do=alltags — bu şablon kullanılır |
| Çıktı yerleri | Kenar çubuğu → result['tags_cloud'] · Tam sayfa → result['content'] |
| Önbellek | Her iki mod da önbelleğe alınır |
main.tpl içindeki {tags} etiketi,
tagscloud.tpl ile hiç ilgisi olmayan, tamamen PHP içinde
üretilen bir listeyi basar. Bu şablon yalnızca
index.php?do=alltags sayfasında — yani "tüm etiketler" sayfasında —
devreye girer.
Etiketler
| Etiket | İçeriği |
|---|---|
{tags} | Tüm etiketler |
{tags limit="20"} | Yalnızca en çok kullanılan ilk 20 etiket |
Şablon tek bir etiket kullanır; gerisini motor üretir. Etiketlerin kendileri, bağlantıları ve boyut sınıfları PHP tarafından hazır HTML olarak konur.
| Var olmayan etiket | Neden? |
|---|---|
{tag}, {count}, {link} | Etiket listesi şablon döngüsüyle değil, PHP içinde üretilir. Bu adlar yalnızca PHP dizisinin anahtarlarıdır; şablonda çalışmaz. |
Boyut sınıfları
Her etiket, kullanım sıklığına göre şu beş sınıftan birine girer (küçükten büyüğe):
| Sınıf | Anlamı |
|---|---|
clouds_xsmall | En az kullanılan |
clouds_small | Az |
clouds_medium | Orta |
clouds_large | Çok |
clouds_xlarge | En çok kullanılan |
font-size ile yapılır; sınıfların CSS'te tanımlı olması
gerekir. Sınıfları engine.css dosyanıza ekleyerek kendi ölçeğinizi
kurabilirsiniz:
.clouds_xsmall{font-size:.8em} … .clouds_xlarge{font-size:1.6em}
Kenar çubuğu bulutunun içeriği
{tags} etiketinin bastığı yapı kabaca şöyledir; her etiket bir
<span> içinde bir bağlantıdır:
<span class="clouds_large"><a href="/tags/ornek-etiket/" title="İçerik: 42">Örnek Etiket</a></span>
<span class="clouds_xsmall"><a href="/tags/diger/" title="İçerik: 3">Diğer</a></span>
Kenar çubuğu bulutunda etiket sayısı sistem ayarından gelir
(tags_number, varsayılan 10 ve asgari 1). Ayrıca sitedeki toplam etiket
sayısı bu sınıra ulaşmışsa, listenin sonuna otomatik olarak
"tüm etiketler" bağlantısı eklenir.
Örnek — tasarım farkı
Bu şablonu düzenleyerek bulut sayfasına başlık, açıklama ve yalnızca etiketlerden oluşan bir gövde koyabilirsiniz:
<section class="tags-page">
<h1>Etiket bulutu</h1>
<p>Sitedeki makalelerde kullanılan anahtar kelimeler</p>
<div class="tags-cloud">
{tags}
</div>
</section>
Yalnızca ilk 20 etiketi göstermek isterseniz:
<div class="tags-cloud">{tags limit="20"}</div>
limit yalnızca tüm etiketler sayfasında çalışır
{tags limit="20"} biçimi do=alltags sayfasında geçerlidir.
Kenar çubuğu bulutunun sınırı ise ayarlardan gelir; şablon bu değeri değiştiremez.
Sık yapılan hatalar
| Hata | Sonuç |
|---|---|
| Kenar çubuğu bulutunu bu şablonla değiştirmeye çalışmak | Kenar çubuğu bu dosyayı kullanmaz; değişiklik görünmez |
{tag} / {count} ile döngü kurmak | Bu etiketler yok; liste boş kalır |
clouds_* sınıflarını CSS'te tanımlamamak | Tüm etiketler aynı boyutta görünür |
| Değişiklikten sonra önbelleği temizlememek | Eski bulut görünmeye devam eder |
Kontrol listesi
- Şablonda yalnızca
{tags}(gerekirselimitile) kullandım. clouds_*sınıfları temanın CSS'inde tanımlı.- Kenar çubuğu ile
do=alltagssayfasının farklı kaynaklardan beslendiğini biliyorum. - Önbelleği temizleyip sayfayı yeniledim.