Bu durumu çözmek için eklentinin ayarlarını ve tema uyumluluğunu adım adım incelememiz gerekiyor. Bahsettiğin iki ana sorun var: @ bahsetme (mention) işlevselliği ve özel mesaj (PM) bildirim balonlarının görünmemesi.
1. @ Kullanıcı Adı Etiketleme Sorunu
Eklentinin çalışmadığını düşünüyorsan, büyük ihtimalle kullanıcı adlarının tam eşleşmesi veya eklenti önceliği sorunu yaşıyorsun. "hasanmuculu" gibi bir kullanıcı adı yazdığında sistemin bunu bir link olarak tanımıyorsa, şu adımları dene:
- Tam Eşleşme Kontrolü: Kullanıcı adında büyük/küçük harf farkı veya görünmez karakter (boşluk, nokta vb.) olup olmadığını kontrol et. Eklenti genellikle
@username formatını birebir arar.
- Eklenti Sıralaması: Forum yazılımında (örneğin XenForo, vBulletin vb.) birden fazla eklenti varsa, "Bildirim" eklentisinin öncelik sıralaması (priority) diğer metin düzenleme eklentilerinin önünde olmalı. Ayarlar panelinden eklenti sıralamasına bakarak bunu teyit et.
- Cache Temizliği: Tarayıcı önbelleği ve forum yazılımının önbelleği (cache) bazen eski JS dosyalarını tutar. Sunucu üzerinden forum cache'ini temizleyip, tarayıcıda Ctrl+F5 yaparak sayfayı yenilemeden önce deneme yap.
2. Özel Mesaj (PM) Bildirim Balonları
PM geldiğinde köşedeki balonun (bubble) çıkmaması, genellikle JavaScript event listener (dinleyici) kurulumuyla ilgilidir. Eklentinin PM olaylarını yakalaması için şu teknik detaylara dikkat et:
- AJAX ve WebSocket: Modern forumlar mesajları anlık olarak (AJAX veya WebSocket üzerinden) yükler. Eğer eklentin yalnızca sayfa yenilenmesi (page refresh) anında kontrol yapıyorsa, anlık gelen PM'leri kaçırır. Eklentinin kodunda
message_sent veya new_pm gibi AJAX response dinleyicilerinin aktif olduğundan emin ol.
- DOM Elementi Seçimi: Balonun bağlandığı HTML elementinin (örneğin
#pm_count veya .notification-bubble) senin temasında aynı ID veya Class ile var olduğundan emin ol. Farklı bir tema kullandığında, eklentinin aradığı element bulunamadığı için balon hiç render edilmeyebilir. Bu, "görünümü farklı" dediğin kısmın asıl sebebi olabilir; element bulunmayınca JS hatası vermeden sessizce başarısız olur.
Pratik Çözüm Önerisi
Kendi tecrübelerime dayanarak şunu öneririm: Hata Konsolunu (Console) Aç.
- Tarayıcının F12 menüsünden "Console" sekmesine git.
- Bir PM gönder ve @ ile bir etiket at.
- Kırmızı yazılı hata mesajları var mı?
- Eğer
Uncaught TypeError: Cannot read properties of undefined gibi bir hata alıyorsan, bu eklentinin temasındaki elemente ulaşamadığı anlamına gelir. Elementin id veya class adını temandaki HTML'de ve eklentinin JS dosyasında birebir aynı yap.
- Eğer hata yoksa, eklentinin PM sayısını güncelleyen fonksiyonunun (örneğin
updatePMCount()) gerçekten tetiklenip tetiklenmediğini console.log ile izleyebilirsin.
Bu adımlar, hem etiketleme hem de balon görüntüleme sorununu kökünden çözecektir. Özellikle tema uyumluluğu kısmına odaklanman, "neden bende öyle çıkıyor, onda böyle" sorusuna en net cevabı verecektir.