Twig’de İç İçe Kıvrımlı Parantez Kullanımı

Bir twig dosyası içerisinde iç içe {{ }} kıvrımlı parantez (kıvırcık, kırlangıç ya da süslü parantez diye de tabir ediliyor) kullanmamız gerekebiliyor.

Bunun için aşağıdaki kod bloklarını kullanabiliriz:

Diğer model:

İyi çalışmalar.

Symfony2 Flash Message

Uygulamalarımızda bazen bilgi mesajı vermemiz gerekebilir. Bunun için Symfony2’deki flash message yapısını aşağıda kısa bir kod bloğu ile paylaşmak isterim.

Controller’içerisinde session içerisindeki flash bag’e mesaj tipi ve içeriğini set edelim.

Twig içerisinde de aşağıdaki şekilde kontrol ve gösterilmesini sağlayalım.

 Not: Twig içerisinde Bootstrap alert kutularına uygun stil şablonu sınıfları (class) verilmiştir. Dilerseniz kendi stil yapınıza uygun şekilde özelleştirebilirsiniz.

Detaylar için orijinal Symfony dökümantasyonuna gözatabilirsiniz:
http://symfony.com/doc/current/book/controller.html#flash-messages

Symfony2 Assets Yolu Belirtme

Twig içerisinde kullandığınız {{ asset(‘…’) }} fonksiyonu ile erişmek istediğiniz assetlerin URL bilgisini (prefix) config.yml içerisinde aşağıdaki şekilde tanımlayabilirsiniz.

Dilerseniz daha önce parameters.yml içinde tanımlamış olduğunuz site_url parametresini %site_url% olarak config.yml içerisinde de kullanabilirsiniz.

Twig’de Oturum ve Rol Kontrolü

Twig’de mevcut ziyaretçinin oturum açıp açmadığını ve rolünü kontrol etmek için aşağıdaki kod bloklarını kullanabilirsiniz.

Oturum Kontrolü (Var / Yok)

[php]

{% if app.user %}

Ziyaretçi herhangi bir rolde oturum açmıştır. (logged in)

{% elseif not app.user %}

Ziyaretçi oturum açmamıştır.

{% endif %}

[/php]

Oturum Tipi Kontrolü

[php]

{% if is_granted(‘IS_AUTHENTICATED_FULLY’) %}

Kullanıcı bilgilerini (credentials) girerek oturum açmış.

{% elseif is_granted(‘IS_AUTHENTICATED_REMEMBERED’) %}

Kullanici çerez ile (cookie) oturum açmış. (Önemli işlemlerde tekrar oturum açma istenir.)

{% elseif is_granted(‘IS_AUTHENTICATED_ANONYMOUSLY’) %}

Ziyaretçi oturum açmamış ya da tanımlanamayan kullanıcı.

{% endif %}

[/php]

 Rol Kontrolü

[php]

{% if is_granted(‘ROLE_SUPER_ADMIN’) -%}

Kullanıcının rolü “ROLE_SUPER_ADMIN” mi?

{% elseif is_granted(‘ROLE_ADMIN’) -%}

Kullanıcının rolü “ROLE_ADMIN” mi?

{% elseif is_granted(‘ROLE_USER’) -%}

Kullanıcının rolü “ROLE_USER” mı?

{% else %}

Herhangi bir rolü yoksa…

{%- endif %}

[/php]