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.

KonuAyrıntı
İşleyen dosyaengine/ajax/profile.php
Tetikleyiciindex.php?controller=ajax&mod=profile
YanıtJSON içinde HTML parçası olarak döner
Açan JSShowProfile() — 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

KonuAyrı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.