Ana içeriğe geç

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 adresi
  • user.bayi_kod - Müşteri/bayi kodu
  • user.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 telefon
  • user.gsm - Cep telefonu
  • user.fax - Faks numarası
  • user.adres - Adres
  • user.sehir - Şehir
  • user.ilce - İlçe
  • user.ulke - Ülke

Mali ve Vergi Bilgileri

  • user.vergidaire - Vergi dairesi
  • user.vergino - Vergi numarası
  • user.tckimlik - TC kimlik numarası
  • user.iskonto - İskonto yüzdesi
  • user.cari_acik_hesap - Açık hesap durumu
  • user.currency - Kullanıcının para birimi kodu
  • user.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 tarihi
  • user.register_date - Kayıt tarihi (formatlanmış)
  • user.son_tarih - Son giriş tarihi
  • user.last_login_ago - Son giriş zamanı
  • user.approved_at - Onay tarihi
  • user.last_order_date - Son sipariş tarihi

Gruplar ve İzinler

  • user.company_group_id - Şirket grubu ID'si
  • user.company_group - Şirket grubu nesnesi
  • user.tax_group_id - Vergi grubu ID'si
  • user.tax_group - Vergi grubu nesnesi
  • user.order_limit_group_id - Sipariş limit grubu ID'si
  • user.order_limit_group - Sipariş limit grubu nesnesi
  • user.permission_group_id - İzin grubu ID'si
  • user.cargo_region_id - Kargo bölgesi ID'si

Yönetimsel

  • user.yonetici_not - Yönetici notları
  • user.ser_lang - Dil tercihi
  • user.admin_url - Yönetici paneli URL'i
  • user.logged_in_today - Bugün giriş yapıldı (0/1)
  • user.avatar_character - Avatar baş harfleri

İlişkili Nesneler

  • user.address - Varsayılan teslimat adresi
  • user.country - Ülke nesnesi
  • user.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.