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 saatiorder.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 adresiorder.adres
- Teslimat adresiorder.sehir
- Şehirorder.ilce
- İlçeorder.user
- Müşteri kullanıcı nesnesiorder.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 tutarorder.currency
- Para birimi kodu (örn., "TRY")order.currency_symbol
- Para birimi simgesi (örn., "₺")order.entered_amount
- Girilen tutarorder.entered_amount_text
- Para birimi ile girilen tutarorder.shipment_cost
- Kargo ücretiorder.shipment_amount_text
- Para birimi ile kargo ücretiorder.refund_amount
- İade tutarı
Sipariş İçeriği
order.items
- Sipariş öğeleri dizisiorder.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öntemiorder.taksit
- Taksit sayısıorder.iskonto
- İndirim yüzdesiorder.banka
- Banka adı
Yönetimsel
order.yetkili
- Yetkili kişiorder.onay_tarih
- Onay tarihiorder.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'iorder.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'siitem.urun_id
- Ürün ID'siitem.adet
- Sipariş edilen miktaritem.qty
- Miktar (adet için takma ad)item.durum
- Öğe durumuitem.urun_kod
- Ürün kodu/SKU
Ürün Bilgileri
item.product
- Ürün nesnesiitem.product_name
- Ürün adıitem.kategori_isim
- Kategori adıitem.product.title
- Tam ürün başlığıitem.product.sku
- Ürün SKU'suitem.product.brand_name
- Marka adı
Varyant Bilgileri
item.sepet_renk
- Varyant adı/rengiitem.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 fiyatitem.price_format
- Para birimi ile formatlanmış fiyatitem.total_amount
- Toplam tutar (miktar × fiyat)item.currency
- Para birimi kodu
Resimler
item.image
- Ürün resim URL'iitem.med_image
- Orta boyut resim URL'i
Miktarlar ve Ölçümler
item.base_qty
- Ana ölçü birimindeki temel miktaritem.shipped_qty
- Zaten kargolanan miktaritem.awaiting_shipment_qty
- Kargo bekleyen miktaritem.package_count
- Paket sayısıitem.package_qty
- Paket başına miktaritem.measure_id
- Ölçü birimi ID'si
Öğe Durumu
item.product_id
- Metin olarak ürün ID'siitem.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.