serB2B Özel Fonksiyonlar
Bu dokümantasyon, serB2B template sistemine özel olarak eklenmiş Twig fonksiyonları, filtreleri ve değişkenleri detaylı olarak açıklar.
Global Değişkenler
Template'lerin tamamında kullanılabilir değişkenler:
Kullanıcı ve Oturum
Değişken | Tip | Açıklama | Örnek Kullanım |
---|---|---|---|
user | object | Giriş yapmış kullanıcı objesi | {{ user.name }} , {{ user.email }} |
is_logged | boolean | Kullanıcı giriş yapmış mı? | {% if is_logged %} |
is_admin | boolean | Kullanıcı admin mi? | {% if is_admin %} |
is_mobile | boolean | Mobil cihaz mı? | {% if is_mobile %} |
locale | string | Mevcut dil kodu | {{ locale }} (tr, en, vb.) |
Site ve Konfigürasyon
Değişken | Tip | Açıklama | Örnek Kullanım |
---|---|---|---|
base_url | string | Site temel URL'si | <base href="{{ base_url }}"> |
app_config | object | Uygulama konfigürasyonu | {{ app_config.site_name }} |
request | object | HTTP request verileri | {{ request.uri_string }} |
get_currency | object | Mevcut para birimi | {{ get_currency.symbol }} |
get_alternate_currency | object | Alternatif para birimi | {{ get_alternate_currency.code }} |
E-ticaret Verileri
Değişken | Tip | Açıklama | Örnek Kullanım |
---|---|---|---|
categories | array | Site kategorileri | {% for cat in categories %} → Kategori Alanları |
groups | array | Site grupları | {% for group in groups %} → Grup Alanları |
brands | array | Markalar | {% for brand in brands %} → Marka Alanları |
product | object | Ürün detay sayfasında mevcut ürün | {{ product.title }} → Ürün Alanları |
products | array | Ürün listesi sayfasında ürünler | {% for product in products %} → Ürün Alanları |
Fonksiyonlar
Konfigürasyon Fonksiyonları
config(key, default = null)
Uygulama konfigürasyon değerini getirir.
{{ config('SITE_NAME') }}
{{ config('SHOW_PRICE_TO_NONUSERS', false) }}
{{ config('DEBUG_MODE') }}
theme_config(key, default = null)
Tema konfigürasyon değerini getirir.
{{ theme_config('header_style') }}
{{ theme_config('is_sticky_header', false) }}
{{ theme_config('brands_slider_active') }}
Varlık Yönetimi Fonksiyonları
webpack_bundle(entry)
Webpack varlık paketini yükler.
{{ webpack_bundle('layout') }} {# Ana layout varlıkları #}
{{ webpack_bundle('index') }} {# Ana sayfa varlıkları #}
{{ webpack_bundle('product') }} {# Ürün sayfası varlıkları #}
{{ webpack_bundle('list') }} {# Liste sayfası varlıkları #}
webpack_bundle_header()
Header'a özel webpack varlıklarını yükler.
{{ webpack_bundle_header() }} {# Header stili için özel CSS/JS #}
Render Fonksiyonları
render_header()
Tema ayarlarına göre uygun header'ı render eder.
{{ render_header() }} {# Otomatik header seçimi #}
render_template(template, data = [])
Belirtilen template'i parametrelerle render eder.
{{ render_template('_product_card', {'product': item}) }}
{{ render_template('widgets/banner', {'slides': banner_data}) }}
render_page(url)
CMS sayfasını URL'den render eder.
{{ render_page('footer-content') }}
{{ render_page('privacy-policy') }}
___(widget_key)
CMS widget'ını render eder.
{{ ___('page__signin_box') }}
{{ ___('home__top_banner') }}
{{ ___('category__sidebar_menu') }}
E-ticaret Fonksiyonları
get_last_products(limit = 12)
Son eklenen ürünleri getirir.
{% set last_products = get_last_products() %}
{% set featured = get_last_products(8) %}
get_brands(active_only = true)
Markaları getirir.
{% set brands = get_brands() %}
{% set all_brands = get_brands(false) %}
get_banner(key)
Banner verilerini getirir.
{% set main_slider = get_banner('main_slider') %}
{% set brands_banner = get_banner('brands_slider') %}
is_product_in_cart(product_id)
Ürünün sepette olup olmadığını kontrol eder.
{% if is_product_in_cart(product.id) %}
<button class="in-cart">Sepette</button>
{% endif %}
get_product_cart_count(product_id)
Sepetteki ürün adetini getirir.
Sepette: {{ get_product_cart_count(product.id) }} adet
SEO ve İçerik Fonksiyonları
page_title()
Sayfa başlığını getirir.
<title>{{ page_title() ?: config('SAYFA_BASLIK') }}</title>
page_description()
Sayfa açıklamasını getirir.
<meta name="description" content="{{ page_description() }}">
page_keywords()
Sayfa anahtar kelimelerini getirir.
<meta name="keywords" content="{{ page_keywords() }}">
URL Fonksiyonları
site_url(path = '')
Site URL'si oluşturur.
<a href="{{ site_url('products') }}">Ürünler</a>
<a href="{{ site_url('category/electronics') }}">Elektronik</a>
get_locales()
Mevcut dilleri ve URL'lerini getirir.
{% for locale_data in get_locales() %}
<a href="{{ locale_data.url }}">
<img src="{{ ('flags/' ~ locale_data.code ~ '.png') | image }}">
{{ locale_data.name }}
</a>
{% endfor %}
Sistem Fonksiyonları
ui_head_tags()
Sistem head etiketlerini ekler (analytics, meta vb.).
<head>
{{ ui_head_tags() }}
</head>
ui_footer_tags()
Sistem footer script'lerini ekler.
{{ ui_footer_tags() }}
</body>
ui_after_body_tags()
Body'den hemen sonra gelen sistem etiketlerini ekler.
<body>
{{ ui_after_body_tags() }}
dump(variable)
Debug için değişken içeriğini gösterir.
{% if config('DEBUG_MODE') %}
{{ dump(product) }}
{% endif %}