Haber İçi Anketler — poll.tpl
poll.tpl, habere bağlı anketi üretir. Anketler bir haberin
yanında oluşturulur ve haberin kartında ya da tam metninde görünür.
| Konu | Ayrıntı |
|---|---|
| İşleyen dosya | engine/modules/poll.php |
| Çıktı | $tpl->result['poll'] |
| Şablona basan | Haber şablonundaki {poll} etiketi |
| Ne zaman yüklenir? | Haberin bir anketi varsa ([poll] bloğu doluysa) |
✕
Haber içi anket ile sitedeki oylama AYRI şeylerdir
- Haber içi anket →
poll.tpl·engine/modules/poll.php· çıktıresult['poll']·{poll}etiketi - Sitedeki oylama →
vote.tpl·engine/modules/vote.php· çıktıresult['vote']·{vote}etiketi
Etiketler
| Etiket | İçeriği |
|---|---|
{title} | Anketin başlığı |
{question} | Asıl soru metni |
{votes} | Toplam oy sayısı |
{news-id} | Anketin bağlı olduğu haberin ID'si |
{list} | Seçenekler (oy verme) veya sonuç çubukları |
{close-date} | Anketin kapanacağı tarih |
Blok koşulları
| Blok | Ne zaman görünür? |
|---|---|
[not-voted]…[/not-voted] | Ziyaretçi henüz oy vermemişse (oy verme biçimi) |
[voted]…[/voted] | Ziyaretçi oy vermişse (sonuç biçimi) |
[closed]…[/closed] | Anket kapalıysa (sonuçlar gösterilir) |
[not-closed]…[/not-closed] | Anket açıksa |
Haber şablonundaki karşılığı
{poll} etiketi bu şablonda değil, haber şablonunda kullanılır.
Haberin anketi olup olmadığını kontrol etmek için:
[poll]
<aside class="poll-box">
{poll}
</aside>
[/poll]
[not-poll]
<!-- Bu haberde anket yok -->
[/not-poll]
Bu iki blok shortstory.tpl, fullstory.tpl ve statik sayfa
şablonunda kullanılabilir.
Tam örnek
<div class="poll">
<strong class="poll-title">{title}</strong>
<p class="poll-question">{question}</p>
[not-closed]
[not-voted]
<div class="poll-options">{list}</div>
[/not-voted]
[/not-closed]
[voted]
<div class="poll-results">{list}</div>
<small>{votes} oy kullanıldı</small>
[/voted]
[closed]
<div class="poll-results">{list}</div>
<small>Anket kapandı: {close-date}</small>
[/closed]
</div>
Oylama kuralları
| Kural | Davranış |
|---|---|
| Çoklu seçim | Anket çoklu seçime izin veriyorsa seçenekler onay kutusu, aksi hâlde radyo düğmesi olarak basılır. |
| Aynı ziyaretçi | Oy kaydı varsa ziyaretçiye oy verme biçimi değil, sonuçlar gösterilir. |
| İzin | Üye grubunun anket izni yoksa oy verilemez. |
| Kapalı anket | Kapanış tarihi geçmişse yalnızca sonuçlar görünür. |
!
Önbellek açıkken oy kaydı atlanır
Anket önbellekten servis edildiğinde oy kaydı denetimi yapılamaz. Bu yüzden anketlerin
önbelleklenmesi, çok ziyaretli sitelerde tutarlılık sorunlarına yol açabilir.
Yazdırma görünümünde
Haberin yazdırma sürümünde (print.tpl) anket hiç yüklenmez.
Yazdırma şablonunda {poll} kullanmanız boş çıktı verir.
Kontrol listesi
- Doğru dosyayı düzenliyorum (
poll.tpl,vote.tpldeğil). [not-voted]ve[voted]bloklarının ikisi de var.- Kapalı anket durumu (
[closed]) ele alındı. - Haber şablonunda
[poll]/[not-poll]sarmalayıcısı var. - Mobilde seçenekler ve sonuç çubukları düzgün görünüyor.