Profil Kartı — profile_popup.tpl
Bu şablon, bir üye adına tıklandığında açılan küçük profil kartını üretir. Bir sayfa değil, AJAX ile üretilen bir parçadır.
| Konu | Ayrıntı |
|---|---|
| İşleyen dosya | engine/ajax/profile.php |
| Tetikleyici | index.php?controller=ajax&mod=profile |
| Yanıt | JSON içinde HTML parçası olarak döner |
| Açan JS | ShowProfile() — public/js/dle_js.js |
Etiketler
| Etiket / blok | İçeriği |
|---|---|
{foto} | Profil fotoğrafı |
{usertitle} | Üye unvanı |
{status} | Grup etiketi |
{group-icon} | Grup simgesi |
{registration} | Kayıt tarihi |
{lastdate} | Son giriş |
[online] / [offline] | Çevrimiçi durumu |
[fullname] + {fullname} | Ad soyad |
[land] + {land} | Konum |
[info] + {info} | Hakkında |
{signature} | İmza |
{news-num}, {news}, [rss] | Haber sayısı, haber listesi bağlantısı, RSS |
{comm-num}, {comments} | Yorum sayısı ve bağlantısı |
{rate}, {commentsrate} | Oylama puanları |
{ban-date}, {ban-description} | Üye engelliyse |
[own-profile] / [not-own-profile] | Kendi profili mi? |
[profile-user-group=N] | Üye belirtilen grupta mı? |
[ignore] | Üyeyi engelle bağlantısı |
Örnek
<div class="profile-card">
[profile-user-group=1]
<span class="badge">Yönetici</span>
[/profile-user-group]
<div class="profile-card__head">
<img src="{foto}" alt="" class="profile-card__photo">
<div>
<strong>{usertitle}</strong>
<span>{status} {group-icon}</span>
</div>
</div>
<ul class="profile-card__meta">
<li>[online]Çevrimiçi[/online][offline]Çevrimdışı[/offline]</li>
<li>Kayıt: {registration}</li>
<li>Son giriş: {lastdate}</li>
<li>Haber: {news-num} · Yorum: {comm-num}</li>
</ul>
[info]
<p>{info}</p>
[/info]
[signature]
<div class="profile-card__sign">{signature}</div>
[/signature]
<div class="profile-card__actions">
[not-own-profile]
<a href="#" class="pm-link">Mesaj gönder</a>
[ignore]<a href="#">Engelle</a>[/ignore]
[/not-own-profile]
<a href="#" class="profile-link">Profili görüntüle</a>
</div>
[banned]
<p class="banned">Engelli · {ban-date} · {ban-description}</p>
[/banned]
</div>
Önemli kurallar
| Konu | Ayrıntı |
|---|---|
| Tam HTML belgesi yazmayın | Bu şablon bir sayfa değil, bir parçadır. İçine
<html>, <head> veya menü koymayın. |
| CSRF denetimi vardır | İstek user_hash olmadan yanıtlanmaz. |
| {THEME} gerekli | Görsel ve stillerin doğru görünmesi için {THEME} kullanın. |
| Mesaj gönderme izni | Mesaj bağlantısı, alıcının mesaj izni yoksa gösterilmez (sunucu tarafı denetim). |
i
Haber içi profil etiketleri farklı çalışır
Bir haberin altındaki yazar kartı bu şablonu kullanmaz; o etiketleri
(
[profile_xfvalue_…] vb.) doğrudan haber şablonuna yazan ayrı bir modül
işler. Yani iki farklı "profil kartı" mekanizması vardır:
- Bu şablon — yazar adına tıklayınca açılan kutu (AJAX)
- Haber altındaki kart — haber şablonuna gömülü alan
Kontrol listesi
- Şablon bir HTML parçası; belge etiketleri kullanmadım.
{THEME}görsel yollarında kullanıldı.[not-own-profile]ile mesaj/engelle bağlantıları korundu.- Kart mobilde taşmıyor (genişlik sınırı var).
- Yazar adına tıklayınca kartın açıldığını gerçek sayfada test ettim.