Skip to main content

Order Attributes

Bu kılavuz, Twig şablonlarınızda sipariş bilgilerini, müşteri detaylarını ve ürün listelerini görüntülemek için Sipariş ve Sipariş Öğesi nesnelerinin nasıl kullanılacağını gösterir.

Kullanılabilir Sipariş Özellikleri​

Temel Sipariş Özellikleri​

  • order.id - Sipariş ID numarası
  • order.siparis_no - Sipariş numarası (örn., "ORD-2024-001234")
  • order.tarih - Tam sipariş tarihi ve saati
  • order.short_date - Kısa tarih formatı (g/a/y)
  • order.durum - Sipariş durum numarası (0=beklemede, 1=aktif, 2=pasif, 3=iptal, 4=tamamlandı)
  • order.status_text - Sipariş durumu metin olarak (örn., "Aktif", "Tamamlandı")
  • order.order_status_type_name - Detaylı durum adı (örn., "İşlemde", "Kargoya Verildi")

Müşteri Bilgileri​

  • order.firma - Firma adı
  • order.telefon - Telefon numarası
  • order.email_address - Müşteri e-posta adresi
  • order.adres - Teslimat adresi
  • order.sehir - Şehir
  • order.ilce - İlçe
  • order.user - Müşteri kullanıcı nesnesi
  • order.user.name - Müşteri adı
  • order.user.bayi_kod - Müşteri kodu

Mali Bilgiler​

  • order.toplam_tutar - Toplam tutar (sayı)
  • order.amount_text - Para birimi simgesi ile toplam tutar
  • order.currency - Para birimi kodu (örn., "TRY")
  • order.currency_symbol - Para birimi simgesi (örn., "₺")
  • order.entered_amount - Girilen tutar
  • order.entered_amount_text - Para birimi ile girilen tutar
  • order.shipment_cost - Kargo ücreti
  • order.shipment_amount_text - Para birimi ile kargo ücreti
  • order.refund_amount - İade tutarı

Sipariş İçeriği​

  • order.items - Sipariş öğeleri dizisi
  • order.order_item_count - Siparişteki öğe sayısı
  • order.urun_toplam - Tüm ürünlerin toplam miktarı
  • order.urun_cesit - Farklı ürün sayısı
  • order.order_data - JSON nesnesi olarak sipariş verisi

Ödeme Detayları​

  • order.odeme_tur - Ödeme yöntemi
  • order.taksit - Taksit sayısı
  • order.iskonto - İndirim yüzdesi
  • order.banka - Banka adı

Yönetimsel​

  • order.yetkili - Yetkili kişi
  • order.onay_tarih - Onay tarihi
  • order.onay_not - Onay notları
  • order.created_at - Oluşturulma zamanı
  • order.updated_at - Son güncelleme zamanı
  • order.status_changed_at - Durum değişiklik zamanı
  • order.detail_link - Ön yüz detay sayfası URL'i
  • order.admin_url - Yönetici paneli URL'i

İlişkiler​

  • order.seller - Satıcı kullanıcı nesnesi (varsa)
  • order.shipment - Kargo bilgileri nesnesi

Kullanılabilir Sipariş Öğesi Özellikleri​

Temel Öğe Özellikleri​

  • item.id - Öğe ID'si
  • item.urun_id - Ürün ID'si
  • item.adet - Sipariş edilen miktar
  • item.qty - Miktar (adet için takma ad)
  • item.durum - Öğe durumu
  • item.urun_kod - Ürün kodu/SKU

Ürün Bilgileri​

  • item.product - Ürün nesnesi
  • item.product_name - Ürün adı
  • item.kategori_isim - Kategori adı
  • item.product.title - Tam ürün başlığı
  • item.product.sku - Ürün SKU'su
  • item.product.brand_name - Marka adı

Varyant Bilgileri​

  • item.sepet_renk - Varyant adı/rengi
  • item.variant_name - Varyant adı (formatlanmış)
  • item.sepet_renk_dosya - Varyant resim dosya adı
  • item.sepet_beden - Beden bilgisi

Fiyatlandırma​

  • item.buy_price - Birim satın alma fiyatı
  • item.buy_amount - Toplam satın alma tutarı
  • item.price - Birim güncel fiyat
  • item.price_format - Para birimi ile formatlanmış fiyat
  • item.total_amount - Toplam tutar (miktar × fiyat)
  • item.currency - Para birimi kodu

Resimler​

  • item.image - Ürün resim URL'i
  • item.med_image - Orta boyut resim URL'i

Miktarlar ve Ölçümler​

  • item.base_qty - Ana ölçü birimindeki temel miktar
  • item.shipped_qty - Zaten kargolanan miktar
  • item.awaiting_shipment_qty - Kargo bekleyen miktar
  • item.package_count - Paket sayısı
  • item.package_qty - Paket başına miktar
  • item.measure_id - Ölçü birimi ID'si

Öğe Durumu​

  • item.product_id - Metin olarak ürün ID'si
  • item.variant_id - Varyant tanımlayıcısı

Sipariş Nesnesi​

Sipariş nesnesi, müşteri detayları, sipariş durumu, fiyatlandırma ve sipariş öğeleri dahil olmak üzere bir müşterinin siparişi hakkındaki tüm bilgileri içerir.

Temel Sipariş Bilgileri​

<!-- Sipariş ID ve Numarası -->
<h2>Sipariş #{{ order.siparis_no }}</h2>
<p>Sipariş ID: {{ order.id }}</p>

<!-- Sipariş Tarihi -->
<p>Sipariş Tarihi: {{ order.short_date }}</p>
<p>Tam Tarih: {{ order.tarih }}</p>

<!-- Sipariş Durumu -->
<p>Durum: {{ order.status_text }}</p>
<p>Durum Tipi: {{ order.order_status_type_name }}</p>

Müşteri Bilgileri​

<!-- Şirket ve İletişim Detayları -->
<h3>Müşteri Bilgileri</h3>
<p>Firma: {{ order.firma }}</p>
<p>Telefon: {{ order.telefon }}</p>
<p>E-posta: {{ order.email_address }}</p>

<!-- Müşteri Adı -->
<p>Müşteri: {{ order.user.name }}</p>
<p>Müşteri Kodu: {{ order.user.bayi_kod }}</p>

<!-- Teslimat Adresi -->
<address>
{{ order.adres }}
<br>{{ order.ilce }}, {{ order.sehir }}
</address>

Sipariş Toplamları ve Fiyatlandırma​

<!-- Sipariş Özeti -->
<div class="order-summary">
<p>Toplam Tutar: {{ order.amount_text }}</p>
<p>Para Birimi: {{ order.currency_symbol }}</p>

<!-- Ürün Sayıları -->
<p>Toplam Öğe: {{ order.order_item_count }}</p>
<p>Toplam Miktar: {{ order.urun_toplam }}</p>
<p>Farklı Ürünler: {{ order.urun_cesit }}</p>

<!-- Ek Maliyetler -->
{% if order.shipment_cost > 0 %}
<p>Kargo Ücreti: {{ order.shipment_amount_text }}</p>
{% endif %}

{% if order.refund_amount > 0 %}
<p>İade Tutarı: {{ order.refund_amount }} {{ order.currency_symbol }}</p>
{% endif %}
</div>

Ödeme Bilgileri​

<!-- Ödeme Detayları -->
<div class="payment-info">
<p>Ödeme Yöntemi: {{ order.odeme_tur }}</p>

{% if order.taksit > 1 %}
<p>Taksit: {{ order.taksit }}</p>
{% endif %}

{% if order.iskonto > 0 %}
<p>İndirim: {{ order.iskonto }}%</p>
{% endif %}

{% if order.banka %}
<p>Banka: {{ order.banka }}</p>
{% endif %}
</div>

Sipariş İşlemleri ve Bağlantılar​

<!-- Sipariş Bağlantıları -->
<a href="{{ order.detail_link }}" class="btn btn-primary">Sipariş Detaylarını Görüntüle</a>
<a href="{{ order.admin_url }}" class="btn btn-secondary">Yönetici Paneli</a>

<!-- Sipariş Durum Kontrolleri -->
{% if order.durum == 1 %}
<span class="badge badge-success">Aktif Sipariş</span>
{% elseif order.durum == 4 %}
<span class="badge badge-info">Tamamlandı</span>
{% elseif order.durum == 3 %}
<span class="badge badge-danger">İptal Edildi</span>
{% endif %}

Sipariş Öğeleri​

Sipariş Öğeleri Listesini Görüntüleme​

<!-- Sipariş Öğeleri Tablosu -->
<table class="table order-items">
<thead>
<tr>
<th>Ürün</th>
<th>Resim</th>
<th>Varyant</th>
<th>Miktar</th>
<th>Fiyat</th>
<th>Toplam</th>
</tr>
</thead>
<tbody>
{% for item in order.items %}
<tr>
<td>
<strong>{{ item.product_name }}</strong>
<br>
<small>Kod: {{ item.urun_kod }}</small>
</td>
<td>
<img src="{{ item.image }}" alt="{{ item.product_name }}" class="product-thumb">
</td>
<td>
{% if item.variant_name %}
<span class="variant">{{ item.variant_name }}</span>
{% endif %}
{% if item.sepet_beden %}
<span class="size">Beden: {{ item.sepet_beden }}</span>
{% endif %}
</td>
<td>{{ item.qty }}</td>
<td>{{ item.price_format }}</td>
<td>{{ item.total_amount }} {{ item.currency }}</td>
</tr>
{% endfor %}
</tbody>
</table>

Bireysel Öğe Detayları​

{% for item in order.items %}
<div class="order-item">
<!-- Ürün Resmi -->
<div class="item-image">
<img src="{{ item.med_image }}" alt="{{ item.product_name }}">
</div>

<!-- Ürün Bilgileri -->
<div class="item-details">
<h4>{{ item.product_name }}</h4>
<p>Ürün Kodu: {{ item.urun_kod }}</p>
<p>Kategori: {{ item.kategori_isim }}</p>

<!-- Ürün Bağlantısı -->
<a href="{{ item.product.detail_link }}">Ürünü Görüntüle</a>
</div>

<!-- Varyant Bilgileri -->
{% if item.variant_name or item.sepet_beden %}
<div class="item-variant">
{% if item.variant_name %}
<span class="variant-color">{{ item.variant_name }}</span>
{% endif %}
{% if item.sepet_beden %}
<span class="variant-size">{{ item.sepet_beden }}</span>
{% endif %}
</div>
{% endif %}

<!-- Miktar ve Fiyatlandırma -->
<div class="item-pricing">
<p>Miktar: {{ item.adet }}</p>
<p>Birim Fiyat: {{ item.price_format }}</p>
<p><strong>Toplam: {{ item.total_amount }} {{ item.currency }}</strong></p>
</div>

<!-- Kargo Bilgileri -->
{% if item.shipped_qty > 0 %}
<div class="shipping-info">
<p>Kargolanan: {{ item.shipped_qty }}</p>
<p>Kargo Bekleyen: {{ item.awaiting_shipment_qty }}</p>
</div>
{% endif %}
</div>
{% endfor %}

Sipariş Durum Gösterimi​

Durum Rozeti Bileşeni​

<!-- Durum Rozeti -->
{% set status_class = '' %}
{% if order.durum == 0 %}
{% set status_class = 'badge-warning' %}
{% elseif order.durum == 1 %}
{% set status_class = 'badge-success' %}
{% elseif order.durum == 2 %}
{% set status_class = 'badge-secondary' %}
{% elseif order.durum == 3 %}
{% set status_class = 'badge-danger' %}
{% elseif order.durum == 4 %}
{% set status_class = 'badge-info' %}
{% endif %}

<span class="badge {{ status_class }}">{{ order.status_text }}</span>

Durum Zaman Çizelgesi​

<!-- Sipariş Durum Zaman Çizelgesi -->
<div class="order-timeline">
<div class="timeline-item">
<strong>Sipariş Oluşturuldu:</strong> {{ order.tarih }}
</div>

{% if order.onay_tarih %}
<div class="timeline-item">
<strong>Sipariş Onaylandı:</strong> {{ order.onay_tarih }}
{% if order.onay_not %}
<br><em>Not: {{ order.onay_not }}</em>
{% endif %}
</div>
{% endif %}

{% if order.status_changed_at %}
<div class="timeline-item">
<strong>Durum Değişti:</strong> {{ order.status_changed_at }}
</div>
{% endif %}
</div>

Sipariş Özet Bileşenleri​

Sipariş Kart Bileşeni​

<!-- Sipariş Özet Kartı -->
<div class="order-card">
<div class="order-header">
<h3>Sipariş #{{ order.siparis_no }}</h3>
<span class="order-date">{{ order.short_date }}</span>
</div>

<div class="order-body">
<div class="customer-info">
<strong>{{ order.firma }}</strong>
<br>{{ order.user.name }}
</div>

<div class="order-stats">
<span class="stat">{{ order.order_item_count }} öğe</span>
<span class="stat">{{ order.urun_toplam }} adet</span>
</div>

<div class="order-total">
<strong>{{ order.amount_text }}</strong>
</div>
</div>

<div class="order-footer">
<span class="badge {{ status_class }}">{{ order.status_text }}</span>
<a href="{{ order.detail_link }}" class="btn btn-sm btn-outline-primary">Detayları Görüntüle</a>
</div>
</div>

Mobil Sipariş Listesi​

<!-- Mobil Uyumlu Sipariş Listesi -->
<div class="order-list-mobile">
{% for order in orders %}
<div class="order-item-mobile">
<div class="order-main">
<div class="order-number">#{{ order.siparis_no }}</div>
<div class="order-date">{{ order.short_date }}</div>
</div>

<div class="order-details">
<div class="customer">{{ order.firma }}</div>
<div class="amount">{{ order.amount_text }}</div>
</div>

<div class="order-status">
<span class="badge {{ status_class }}">{{ order.status_text }}</span>
</div>
</div>
{% endfor %}
</div>

Siparişlerde Ürün Gösterimi​

Siparişteki Ürün Ağı​

<!-- Sipariş Öğeleri için Ürün Ağı -->
<div class="order-products-grid">
{% for item in order.items %}
<div class="product-card">
<div class="product-image">
<img src="{{ item.image }}" alt="{{ item.product_name }}">
{% if item.qty > 1 %}
<span class="quantity-badge">{{ item.qty }}</span>
{% endif %}
</div>

<div class="product-info">
<h5>{{ item.product_name }}</h5>
<p class="product-code">{{ item.urun_kod }}</p>

{% if item.variant_name %}
<p class="variant">{{ item.variant_name }}</p>
{% endif %}

<p class="price">{{ item.price_format }}</p>
</div>
</div>
{% endfor %}
</div>

Koşullu Gösterim​

Duruma Göre Sipariş İşlemleri​

<!-- Koşullu İşlemler -->
{% if order.durum == 1 %}
<!-- Aktif Sipariş İşlemleri -->
<button class="btn btn-warning">Siparişi İptal Et</button>
<button class="btn btn-info">Siparişi Değiştir</button>
{% elseif order.durum == 4 %}
<!-- Tamamlanmış Sipariş İşlemleri -->
<button class="btn btn-success">Yeniden Sipariş Ver</button>
<button class="btn btn-secondary">Faturayı İndir</button>
{% endif %}

Kullanıcı İzinlerine Göre Gösterim​

<!-- Yönetici özelliklerini sadece yöneticilere göster -->
{% if user.is_admin %}
<div class="admin-controls">
<a href="{{ order.admin_url }}" class="btn btn-primary">Yönetici Paneli</a>
<button class="btn btn-danger">Siparişi Sil</button>
</div>
{% endif %}

<!-- Müşteri özel bilgilerini göster -->
{% if order.user.id == current_user.id %}
<div class="customer-actions">
<button class="btn btn-info">Siparişi Takip Et</button>
<button class="btn btn-secondary">Destek ile İletişime Geç</button>
</div>
{% endif %}

Yaygın Kullanım Durumları​

Sipariş Onay Sayfası​

<div class="order-confirmation">
<h1>Sipariş Onaylandı!</h1>
<p>#{{ order.siparis_no }} numaralı siparişiniz için teşekkür ederiz</p>

<div class="confirmation-details">
<p>Sipariş Tarihi: {{ order.short_date }}</p>
<p>Toplam Tutar: {{ order.amount_text }}</p>
<p>Öğeler: {{ order.order_item_count }}</p>
</div>

<div class="next-steps">
<h3>Sıradaki Adımlar</h3>
<p>{{ order.email_address }} adresine e-posta onayı göndereceğiz</p>
<p>Sipariş durumunuzu istediğiniz zaman takip edebilirsiniz.</p>
</div>
</div>

Sipariş Geçmişi Listesi​

<div class="order-history">
<h2>Sipariş Geçmişiniz</h2>

{% for order in orders %}
<div class="order-history-item">
<div class="order-summary">
<h4>Sipariş #{{ order.siparis_no }}</h4>
<p>{{ order.short_date }} - {{ order.amount_text }}</p>
<span class="status">{{ order.status_text }}</span>
</div>

<div class="order-preview">
<p>{{ order.order_item_count }} öğe</p>
<a href="{{ order.detail_link }}">Detayları Görüntüle</a>
</div>
</div>
{% endfor %}
</div>

Bu referans, teknik uygulama detaylarını açığa çıkarmadan sipariş bilgilerini görüntülemek için Twig şablonları ile çalışan ön yüz geliştiriciler için pratik örnekler sunar.