Kullanıcı ve Müşteri Twig Şablon Referansı
Genel Bakış
Bu kılavuz, Twig şablonlarınızda müşteri bilgilerini, hesap detaylarını ve kullanıcıyla ilgili verileri görüntülemek için Kullanıcı nesnelerinin nasıl kullanılacağını gösterir.
Kullanılabilir Kullanıcı Özellikleri
Temel Kullanıcı Bilgileri
user.id
- Kullanıcı ID numarasıuser.firma
- Firma adıuser.yetkili
- Yetkili kişi adıuser.name
- Kullanıcı adı (yetkili ile aynı)user.title
- Kullanıcı başlığı (yetkili ile aynı)user.company_name
- Firma adı (firma ile aynı)user.mail
- E-posta adresiuser.bayi_kod
- Müşteri/bayi koduuser.seller_code
- Satıcı kodu (bayi_kod ile aynı)user.kullaniciadi
- Kullanıcı adı
İletişim Bilgileri
user.telefon
- Ana telefon numarasıuser.sabittel
- Sabit telefonuser.gsm
- Cep telefonuuser.fax
- Faks numarasıuser.adres
- Adresuser.sehir
- Şehiruser.ilce
- İlçeuser.ulke
- Ülke
Mali ve Vergi Bilgileri
user.vergidaire
- Vergi dairesiuser.vergino
- Vergi numarasıuser.tckimlik
- TC kimlik numarasıuser.iskonto
- İskonto yüzdesiuser.cari_acik_hesap
- Açık hesap durumuuser.currency
- Kullanıcının para birimi koduuser.min_order_amount
- Minimum sipariş tutarı
Hesap Durumu
user.durum
- Hesap durumu (0=pasif, 1=aktif)user.is_active
- Hesabın aktif olup olmadığı (doğru/yanlış)user.yetki
- Yetki seviyesi (1=kullanıcı, 2=yönetici)user.is_admin
- Yönetici olup olmadığı (doğru/yanlış)user.ozelbayi
- Özel bayi durumu
Hesap İstatistikleri
user.toplam_siparis_adet
- Toplam sipariş sayısıuser.toplam_siparis_tutar
- Toplam sipariş tutarıuser.order_count
- Sipariş sayısıuser.basket_item_count
- Sepetteki ürün sayısıuser.giris_adet
- Giriş sayısıuser.siparis_giris_adet
- Sipariş giriş sayısı
Tarih Bilgileri
user.kayit_tarih
- Kayıt tarihiuser.register_date
- Kayıt tarihi (formatlanmış)user.son_tarih
- Son giriş tarihiuser.last_login_ago
- Son giriş zamanıuser.approved_at
- Onay tarihiuser.last_order_date
- Son sipariş tarihi
Gruplar ve İzinler
user.company_group_id
- Şirket grubu ID'siuser.company_group
- Şirket grubu nesnesiuser.tax_group_id
- Vergi grubu ID'siuser.tax_group
- Vergi grubu nesnesiuser.order_limit_group_id
- Sipariş limit grubu ID'siuser.order_limit_group
- Sipariş limit grubu nesnesiuser.permission_group_id
- İzin grubu ID'siuser.cargo_region_id
- Kargo bölgesi ID'si
Yönetimsel
user.yonetici_not
- Yönetici notlarıuser.ser_lang
- Dil tercihiuser.admin_url
- Yönetici paneli URL'iuser.logged_in_today
- Bugün giriş yapıldı (0/1)user.avatar_character
- Avatar baş harfleri
İlişkili Nesneler
user.address
- Varsayılan teslimat adresiuser.country
- Ülke nesnesiuser.region_cargos
- Kullanılabilir kargo firmalarıuser.fcm_token
- Mobil bildirim tokeni
Şablonlarda Kullanıcı Nesnesi
Temel Kullanıcı Bilgilerini Görüntüleme
<!-- Kullanıcı Profil Kartı -->
<div class="user-profile">
<h2>{{ user.name }}</h2>
<p>{{ user.company_name }}</p>
<p>Müşteri Kodu: {{ user.bayi_kod }}</p>
<p>E-posta: {{ user.mail }}</p>
</div>
<!-- Kullanıcı Avatarı -->
<div class="user-avatar">
<span class="avatar-text">{{ user.avatar_character }}</span>
</div>
İletişim Bilgileri
<!-- İletişim Detayları -->
<div class="contact-info">
<h3>İletişim Bilgileri</h3>
<p>Telefon: {{ user.telefon }}</p>
<p>Cep: {{ user.gsm }}</p>
<p>Faks: {{ user.fax }}</p>
<!-- Adres -->
<address>
{{ user.adres }}
<br>{{ user.ilce }}, {{ user.sehir }}
{% if user.ulke %}
<br>{{ user.ulke }}
{% endif %}
</address>
</div>
Vergi ve Mali Bilgiler
<!-- Vergi Detayları -->
<div class="tax-info">
<h3>Vergi Bilgileri</h3>
<p>Vergi Dairesi: {{ user.vergidaire }}</p>
<p>Vergi No: {{ user.vergino }}</p>
{% if user.tckimlik %}
<p>TC Kimlik No: {{ user.tckimlik }}</p>
{% endif %}
<!-- Mali Bilgiler -->
{% if user.iskonto > 0 %}
<p>İskonto: %{{ user.iskonto }}</p>
{% endif %}
<p>Para Birimi: {{ user.currency }}</p>
<p>Minimum Sipariş: {{ user.min_order_amount }} {{ user.currency }}</p>
</div>
Hesap Durumu Gösterimi
<!-- Hesap Durumu -->
<div class="account-status">
{% if user.is_active %}
<span class="badge badge-success">Aktif</span>
{% else %}
<span class="badge badge-danger">Pasif</span>
{% endif %}
{% if user.is_admin %}
<span class="badge badge-info">Yönetici</span>
{% endif %}
{% if user.ozelbayi %}
<span class="badge badge-warning">Özel Bayi</span>
{% endif %}
</div>
Kullanıcı İstatistikleri
<!-- Kullanıcı İstatistik Paneli -->
<div class="user-stats">
<div class="stat-card">
<h4>Toplam Sipariş</h4>
<p class="stat-value">{{ user.order_count }}</p>
</div>
<div class="stat-card">
<h4>Toplam Tutar</h4>
<p class="stat-value">{{ user.toplam_siparis_tutar }} {{ user.currency }}</p>
</div>
<div class="stat-card">
<h4>Sepetteki Ürünler</h4>
<p class="stat-value">{{ user.basket_item_count }}</p>
</div>
<div class="stat-card">
<h4>Giriş Sayısı</h4>
<p class="stat-value">{{ user.giris_adet }}</p>
</div>
</div>
Tarih Bilgileri
<!-- Hesap Tarihleri -->
<div class="account-dates">
<p>Üyelik Başlangıcı: {{ user.register_date }}</p>
<p>Son Giriş: {{ user.last_login_ago }}</p>
{% if user.approved_at %}
<p>Onay Tarihi: {{ user.approved_at }}</p>
{% endif %}
{% if user.last_order_date %}
<p>Son Sipariş: {{ user.last_order_date }}</p>
{% endif %}
</div>
Ödeme ve Adres Formları
Kullanıcı Adres Formu
<!-- Ödeme Adres Formu -->
<form action="/checkout/save_address" method="post">
<div class="form-group">
<label>Firma</label>
<input type="text" name="firma" value="{{ user.address.firma }}" class="form-control" required>
</div>
<div class="form-group">
<label>Yetkili Kişi</label>
<input type="text" name="yetkili" value="{{ user.address.yetkili }}" class="form-control" required>
</div>
<div class="form-group">
<label>Telefon</label>
<input type="tel" name="telefon" value="{{ user.address.telefon }}" class="form-control" required>
</div>
<div class="form-group">
<label>Adres</label>
<textarea name="adres" class="form-control" required>{{ user.address.adres }}</textarea>
</div>
<!-- Kargo Seçimi -->
{% if user.region_cargos %}
<div class="form-group">
<label>Kargo Firması</label>
<select name="cargo_id" class="form-control">
{% for cargo in user.region_cargos %}
<option value="{{ cargo.id }}">{{ cargo.title }}</option>
{% endfor %}
</select>
</div>
{% endif %}
</form>
Koşullu Gösterim
Kullanıcı Tipine Göre İçerik
<!-- Kullanıcı tipine göre içerik göster -->
{% if user.is_admin %}
<div class="admin-panel">
<a href="{{ user.admin_url }}" class="btn btn-primary">Yönetici Paneli</a>
<p>Yönetici Notları: {{ user.yonetici_not }}</p>
</div>
{% endif %}
<!-- Özel Bayi Özellikleri -->
{% if user.ozelbayi %}
<div class="special-dealer-features">
<h3>Özel Bayi Avantajları</h3>
<p>Özel ürünlere ve fiyatlandırmaya erişiminiz var.</p>
</div>
{% endif %}
<!-- İskonto Gösterimi -->
{% if user.iskonto > 0 %}
<div class="discount-banner">
<p>Tüm siparişlerinizde %{{ user.iskonto }} indiriminiz var!</p>
</div>
{% endif %}
Hesap Durumu Mesajları
<!-- Hesap Durumu Mesajları -->
{% if not user.is_active %}
<div class="alert alert-warning">
Hesabınız onay bekliyor. Lütfen destek ile iletişime geçin.
</div>
{% endif %}
{% if user.logged_in_today %}
<div class="welcome-back">
Tekrar hoş geldiniz, {{ user.name }}!
</div>
{% endif %}
<!-- Minimum Sipariş Uyarısı -->
{% if user.min_order_amount > 0 %}
<div class="alert alert-info">
Minimum sipariş tutarı: {{ user.min_order_amount }} {{ user.currency }}
</div>
{% endif %}
Kullanıcı Paneli Bileşenleri
Kullanıcı Profil Özeti
<!-- Kullanıcı Profil Özeti -->
<div class="profile-summary">
<div class="profile-header">
<div class="avatar">{{ user.avatar_character }}</div>
<div class="profile-info">
<h3>{{ user.name }}</h3>
<p>{{ user.company_name }}</p>
<p>{{ user.mail }}</p>
</div>
</div>
<div class="profile-stats">
<div class="stat">
<span class="label">Müşteri Kodu</span>
<span class="value">{{ user.bayi_kod }}</span>
</div>
<div class="stat">
<span class="label">Üyelik Başlangıcı</span>
<span class="value">{{ user.register_date }}</span>
</div>
<div class="stat">
<span class="label">Toplam Sipariş</span>
<span class="value">{{ user.order_count }}</span>
</div>
</div>
</div>
Hızlı İşlemler
<!-- Kullanıcı Hızlı İşlemler -->
<div class="quick-actions">
<a href="/orders" class="action-card">
<i class="icon-orders"></i>
<span>Siparişlerim ({{ user.order_count }})</span>
</a>
<a href="/cart" class="action-card">
<i class="icon-cart"></i>
<span>Alışveriş Sepeti ({{ user.basket_item_count }})</span>
</a>
<a href="/profile" class="action-card">
<i class="icon-profile"></i>
<span>Profili Düzenle</span>
</a>
{% if user.is_admin %}
<a href="{{ user.admin_url }}" class="action-card">
<i class="icon-admin"></i>
<span>Yönetici Paneli</span>
</a>
{% endif %}
</div>
Yaygın Kullanım Durumları
Kullanıcı Hoş Geldin Mesajı
<!-- Kişiselleştirilmiş Hoş Geldin -->
<div class="welcome-section">
<h1>Hoş geldiniz, {{ user.name }}!</h1>
{% if user.last_order_date %}
<p>Son siparişiniz {{ user.last_order_date }} tarihindeydi</p>
{% else %}
<p>İlk siparişinizi vermeye hazır mısınız?</p>
{% endif %}
{% if user.basket_item_count > 0 %}
<div class="cart-reminder">
Sepetinizde {{ user.basket_item_count }} ürün var.
<a href="/cart">Alışverişe Devam Et</a>
</div>
{% endif %}
</div>
Hesap Ayarları Formu
<!-- Hesap Ayarları -->
<form action="/profile/update" method="post">
<h2>Hesap Ayarları</h2>
<div class="form-section">
<h3>Kişisel Bilgiler</h3>
<input type="text" name="yetkili" value="{{ user.yetkili }}" placeholder="Yetkili Adı">
<input type="email" name="mail" value="{{ user.mail }}" placeholder="E-posta" readonly>
<input type="text" name="kullaniciadi" value="{{ user.kullaniciadi }}" placeholder="Kullanıcı Adı">
</div>
<div class="form-section">
<h3>Firma Bilgileri</h3>
<input type="text" name="firma" value="{{ user.firma }}" placeholder="Firma Adı">
<input type="text" name="vergidaire" value="{{ user.vergidaire }}" placeholder="Vergi Dairesi">
<input type="text" name="vergino" value="{{ user.vergino }}" placeholder="Vergi No">
</div>
<div class="form-section">
<h3>İletişim Detayları</h3>
<input type="tel" name="sabittel" value="{{ user.sabittel }}" placeholder="Telefon">
<input type="tel" name="gsm" value="{{ user.gsm }}" placeholder="Cep Telefonu">
<textarea name="adres" placeholder="Adres">{{ user.adres }}</textarea>
</div>
<div class="form-section">
<h3>Tercihler</h3>
<select name="ser_lang">
<option value="tr" {% if user.ser_lang == 'tr' %}selected{% endif %}>Türkçe</option>
<option value="en" {% if user.ser_lang == 'en' %}selected{% endif %}>İngilizce</option>
</select>
</div>
<button type="submit">Profili Güncelle</button>
</form>
Bu referans, teknik uygulama detaylarını açığa çıkarmadan kullanıcı bilgilerini görüntülemek için Twig şablonları ile çalışan ön yüz geliştiriciler için pratik örnekler sunar.