Flag sayısını belirten bir Blok.
hunanka, Cmt, 27/12/2008 - 20:00 tarihinde.
Ancak aynı formülde icerikadi yerine flag_content yazdığımda formül değeri 0 olarak geliyor. Ancak ekteki database resminde CARDINALITY başlığında bu sayı var. Fakat onu ordan nasıl bir kodla çekerim?
Flag sayısını gösteren bir blog oluşturmaya çalışıyorum. Ancak, databaseden bu sayıyı alıp PHP olarak belirtecek sayfa tazelendiğinde anlık sayıyı gösterebilecek bir formüle ihtiyacım var. Bunu nasıl oluşturabilirim?
Normalde sistemden içerik sayılarını alarak kullandığım kod şu:
<p><?php $toplam_icerikadi = db_num_rows(db_query('SELECT * FROM {node} WHERE type ="icerikadi"')); ?></p>
<p><?=$toplam_icerikadi?> Adet <b>İçerik Adı</b></p>
<p><?=$toplam_icerikadi?> Adet <b>İçerik Adı</b></p>
Ancak aynı formülde icerikadi yerine flag_content yazdığımda formül değeri 0 olarak geliyor. Ancak ekteki database resminde CARDINALITY başlığında bu sayı var. Fakat onu ordan nasıl bir kodla çekerim?
- Yeni yorum ekle
- 381 kez okundu

Hiç böyle bir şeye gerek yok; Flag eklentisi flag bilgilerini kolayca alıp kullanabileceğiniz bir API sunuyor. Örneğin bir düğümün kaç defa işaretlendiğini şu kod ile alabiliyorsunuz:
print "Bu içeriği işaretleyen kullanıcı sayısı:";
print $flag->get_count($node->nid);
Cevap için teşekkür ederim. Aslında benim amacım. Editör yönetim sayfası yapıyorum. Bu sayfayı açtığımda sadece benim site yöneticisi olarak anında görüp ve müdahale edebileceğim en önemli ve öncelikli site içerik ve sayfalarını minik bloklar halinde kontrol paneline dönüştürdüğüm bir sayfada yayınlıyorum.
Böylece hata uyarısı gelmiş mi gelmemiş mi kontrol etmek durumunda kalmadan. (Menüde her sayfaya ayrı ayrı girmeden) siteye bakabiliyorum. Bu nedenle sadece kendime ait bir blok oluşturdum bu sayfada.
Burda görmek istediğim şey sadece Hata uyarısı varmı? Ve kaç adet. Böylece o sayfaya gidip gitmeme kararını tek bakışta verebileceğim.
Flag 'in Views desteği de var; yani Views ile içerikleri flag sayılarıyla birlikte gösteren, belirli bir flag sayısını üstündekileri süzen görünüm blokları yapılabilir.
Drupal 5 de views düzenlemek çok sıkıntılı. Aslında direk databaseden alabilsem bu rakamı çok daha güzel olacak.
Ancak viewsle yapmaya çalışınca ortalık çok karışıyor. sadece başlıklar halinde bile getirmeyi başaramadım. ne kadar alakasız şey varsa geliyor.
Views'te kullandığın alan, süzgeç, vb. elemanları yazabilir misin?
Flag içeren bir süzgeç başlığı bulamadım. Hemen her yere baktım süzgeçte, ancak sorduğun şey Flag hangi içeriklere bağlı ise üç ayrı içeriğe flag kullanıyorum. Ama o içeriklerin adlarını önce
Node: Published ve Node: Type (typede üç içeriği seçtim) olmadı
Node: Title ve Node: Type (typede üç içeriği seçtim) olmadı
Flag içeriğinin hata sayfası adresi ise şöyle
http://www.siteadı.com/admin/content/flag_content
Bu adresi blok olarak gösterebilirmiyim. ve bu bloktada sadece başlıkları ?
Şöyle birşey isteyeyim o zaman; şu yukarıda bahsettiğin ve olmadığını söylediğin görünümlerden birini oluşturup görünüm düzenleme sayfasının ekran görüntülerini gönderebilir misin?
Not: Sorularla ilgili ekran görüntüleri için harici siteler (imageshack vs.) kullanılırsa daha iyi olur, çünkü buradaki host alanımız sınırlı.
sanırım bir yerde yanlış yaptım. ben şimdi kontrol ettiğimde fark ettim ki benim eklenti Flag değil Flag Content
Üzgünüm onur, sanırım senide yanlış yere yordum. Bu modüle sadece hatalı içerik için bazı kullanıcıların itirazını sağlamak için ihtiyacım var.
Neyse ki farketmişsin; daha hala uğraşıyor olabilirdik :)
Bu arada bu için Flag eklentisi de kullanılabilir.
Herşey için teşekkürler, bizim için çok önemlisin... sağol...
peki bu kodu sayfama nasıl entegre ederim tema dosyasında denedim ve bloğun içinede koymayı denedim ama olmuyor?
Tema dosyası demişsiniz ama hangisi olduğunu söylememişsiniz. Bu kodun çalışması için kodu kullandığınız yerde $node nesnesinin tanımlı olması lazım. Mesela bu kodu node.tpl.php dosyasında kullanabilirsiniz ama başka bir tema dosyasında kullanabilmek için öncesinde başka işlemlere gerek duyulacaktır.
zaten node.tpl.php dosyasında kullanmaya çalışıyorum ama hangi kodu eklemem gerek bilmiyorum yukarıdaki kodu eklediğimde sayfada doğrudan kod çıkıyor ben içeriğin kaç kişi tarafından sevildiğini göstermek istiyorum herkese açık bir şekilde yardımcı olabilirseniz çok sevinirm teşekkürler
Tahminimce eksik yaptığınız bir şey var: bu kodlar php kodu olduğu için
<?php ?>etiketleri arasında verilmeli. Yani$flag = flag_get_flag('buraya_flag_adi') or die('"buraya_flag_adi" adında bir Flag bulunmuyor');
print "Bu içeriği işaretleyen kullanıcı sayısı:";
print $flag->get_count($node->nid);
?>
şeklinde.