Anketler (Oylamalar)
Anket modülü, ziyaretçilerin tek seçenekli oylamalarla katıldığı soruları yönetir. Her anket
bir başlık, bir seçenek listesi ve geçerlilik aralığı taşır. Aynı IP veya üyeden tekrar oy
engellenir; sonuçlar ayrı bir tabloda tutulur.
| Konu | Ayrıntı |
| Yönetim modülü | engine/inc/editvote.php |
| Panel adresi | admin.php?mod=editvote |
| Veritabanı tabloları | PREFIX_vote ve PREFIX_vote_result |
| Yetki anahtarı | admin_editvote |
| Ön yüz şablonu | Sitedeki Oylamalar (vote.tpl) |
| Tüm anketler penceresi | index.php?controller=ajax&mod=allvotes |
İşlem (action) değerleri
| action | Görevi |
add | Yeni anket formunu açar |
doadd | Yeni anketi kaydeder |
edit | Var olan anketin düzenleme formunu gösterir |
update | Yapılan değişiklikleri kaydeder |
delete | Anketi siler |
on | Anketi yayına alır (durumu açık yapar) |
off | Anketi yayından çeker (durumu kapalı yapar) |
clear | Anketin oy sonuçlarını sıfırlar |
views | Anketin sonuçlarını gösterir |
Anket kaydı: PREFIX_vote
| Alan | Görevi |
id | Anketin benzersiz kimliği |
category | Anketin bağlı olduğu kategori |
vote_num | Toplam oy sayısı |
date | Oluşturulma tarihi |
title | Anket başlığı (soru metni) |
body | Seçenek listesi (aşağıda açıklandı) |
approve | Anketin açık/kapalı durumu |
start | Geçerlilik başlangıç tarihi |
end | Geçerlilik bitiş tarihi |
grouplevel | Anketi görebilecek üye grupları |
Seçenekler: body alanı
Seçenekler tek bir metin alanına yazılır. Kaydedilirken satırlar birbirinden <br>
ile ayrılır ve ön yüzde her satır bir radyo düğmesi olarak çizilir. Yani
seçenekleri alt alta, her satıra bir tane olacak şekilde yazın.
Evet
Hayır
Kararsızım
!
Satır sayısı = seçenek sayısı
Boş satır bırakmak veya tüm seçenekleri tek satıra yazmak, ön yüzde bozuk bir liste
üretir. Her seçenek ayrı bir satırda olmalıdır.
Oy kaydı: PREFIX_vote_result
| Alan | Görevi |
ip | Oy veren IP adresi |
name | Oy veren üye adı (varsa) |
vote_id | Hangi ankete ait olduğu |
answer | Seçilen seçeneğin sıra numarası |
Aynı IP veya aynı üyeden aynı ankete ikinci bir kayıt engellenir. answer alanı
seçeneğin metnini değil, listedeki sırasını saklar; bu nedenle seçeneklerin sırasını
değiştirmek mevcut oyların dağılımını etkiler.
Tarih aralığı ve grup erişimi
| Ayar | Davranış |
start / end | Takvim alanlarıdır; anket yalnızca bu aralıkta geçerlidir |
grouplevel | all veya grup id listesi; anketi yalnızca bu gruplar görür |
category | Anketin hangi kategori bağlamında yayınlanacağı |
Açma, kapama ve sonuç işlemleri
Paneldeki on ve off bağlantıları approve alanını
değiştirir; liste görünümündeki LED göstergesi anketin durumunu yansıtır.
clear sonuçları sıfırlar, views ise sonuçları gösterir.
| İşlem | Etkisi |
on | Anket ön yüzde görünür hâle gelir |
off | Anket ön yüzde görünmez |
clear | Tüm oy kayıtları silinir; geri alınamaz |
views | Anket sonuçları görüntülenir |
delete | Anket ve ona bağlı sonuçlar silinir |
Anket oluşturma akışı
-
Yetkiyi doğrulayın
Grubunuzda
admin_editvote izni açık olmalıdır.
-
Yeni anket formunu açın
admin.php?mod=editvote&action=add adresini kullanın.
-
Başlık ve seçenekleri girin
Seçenekleri her satıra bir tane olacak şekilde
body alanına yazın.
-
Tarih ve grubu belirleyin
start, end ve grouplevel alanlarını doldurun.
-
Yayına alın
Kaydettikten sonra
on durumuna getirin.
-
Ön yüzde sınayın
Anketin
vote.tpl ile çizildiğini ve oy verilebildiğini doğrulayın.
Ön yüz tarafı
Anketlerin görünümü Sitedeki Oylamalar
şablonundan (vote.tpl) gelir. "Tüm anketler" penceresi
ShowAllVotes() işleviyle index.php?controller=ajax&mod=allvotes
adresinden açılır. Hangi anketin, hangi konumda çizileceğine sunucu tarafı karar verir.
Sık yapılan hatalar
| Hata | Sonuç |
Anketi off durumunda bırakmak | Anket ön yüzde hiç görünmez |
clear işlemini dikkatsizce kullanmak | Sonuçlar kalıcı olarak silinir; geri alınamaz |
| Anketi silmenin yalnızca kaydı kaldırdığını sanmak | Bağlı sonuçlar da silinir |
| Tarih aralığını yanlış girmek | Aralık dışındaki anket ön yüzde çalışmaz |
| Seçenekleri tek satıra yazmak | Ön yüzde tek seçenek veya bozuk liste oluşur |
| Seçeneklerin sırasını sonradan değiştirmek | Mevcut answer numaraları kayar, sonuç dağılımı bozulur |
Kontrol listesi
- Grubumda
admin_editvote izni açık.
- Anket başlığı ve seçenekleri net; her seçenek ayrı satırda.
start / end tarih aralığını doldurdum.
grouplevel ile görünürlüğü doğru gruba ayarladım.
- Anketi
on durumuna aldım ve ön yüzde test ettim.
- Sonuçları inceledim;
clear işleminin kalıcı olduğunu biliyorum.