İçeriğe atla

Twig

Symfony de url gösterme

Eğer symfony ve twig kullanıyorsanız link göstermek isterseniz aşagıdakileri yapmanız yeterlidir.

Kontroller dosyasında aşagıdaki gibi yazın.

        $cari_url = $this->generateUrl('fatura_show',array('id'=>$fatura->getId()));
        $cari_url = '<a href="'.$cari_url.'">Fatura</a>';

twig dosyasına alttakine yazmanız yeterli.

{{ cari_url|raw }}

Symfony Twige ile çalışmadan önce yapılması gereken

Smyfony projeniz var ve twig ile çalışacaksanız öncelikle aşagıdaki kodları eklemeniz gerekmektedir.

 
app->config->config.xml
ekle

# Twig Configuration
twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
    globals:
          site_url: %site_url%
          site_url_t: %site_url_t%
          site_title: %site_title%

app->config->oaraneters.yml
ekle

    site_url: http://localhost/bulutrehber/
    site_url_t: http://localhost/bulutrehber/
    site_dizini: C:\xampp\htdocs\bulutrehber
    site_title: Bulut Rehber


    upload_g_dir:   %site_dizini%/web/assets/uploads/
    upload_g_url:   %site_url%/web/assets/uploads/

    upload_k_dir: %site_dizini%/web/images/konu/
    upload_k_url: %site_url%/web/images/konu/

    upload_r_dir: %site_dizini%/web/images/
    upload_r_url: %site_url%/web/images/

Symfony Açılış Sayfasını değiştirme

Bu yazıyı symfony ve twig kullanarak template sistemi yapmış olduğunuzu varsayarak yazıyorum.
Yapmanız gereken:
Kurmuş olduğunuz bundle içersine girip Resources –> views->Default>index.html.twig

dosyasını değiştirmeniz.
Benim yaptıgım:

{% extends 'base.html.twig' %}
{% block title %}
    Site Yönetim Paneli
{% endblock %}
{% block menu %}
Site Yönetim Paneli
{% endblock %}
{% block body %}
    Site Yönetim Paneli
{% endblock %}

Twig Tema Kullanımı

Öncelikle kullanabilmeniz için bilgisayarınızda comproser kurulu olması gerekiyor.

sonrasında işlem yapacagınız klasörün içine girererek

composer require "twig/twig:~1.0"

*:~1.0 bu kısmı silerseniz en son versiyonu kurabilirsiniz.

yazmanız yeterlidir. Artık kurulumu tamamlandı.

Basit olarak denemek isterseniz


&lt;?php
require_once 'vendor/autoload.php';

$loader = new Twig_Loader_Array(array(
'index' =&gt; 'Hello {{ name }}!',
));
$twig = new Twig_Environment($loader);

echo $twig-&gt;render('index', array('name' =&gt; 'Fabien'));
?&gt;

symfony gibi framework lerde hazır gelmektedir.

Bu yüzden extra olarak kurmanıza gerek yoktur. Bu yazıyı bilgi amaçlı sizlere ilettik. Sitesinden gerekli ayarları bakabilirsiniz.

Eskiden smarty kullanırdı şimdi symfony de cogu geliştirici twig kullandığı için popüler oldu.

Aşağıdaki kod sayesinde başka bir sayfayı yükleme yapabiliyoruz.

{% extends "layout.html.twig" %}

Her sayfada kullanacaklarımızı extends ile yüklüyebiliyoruz.

ifdöngüsü kullanımı

<pre class="">
{% if makalaler %}
{% endif %}

Blok kullanımı

{% block content %} içerikler burada { % endblock %}

Twig Tema Motorunun ideler için eklentileri var. Aşagıdakler gibi.

Symfony ile Twig e değişken gönderme

Symfony  ile çalışanlar template sistemi olarak genelde twig kullanırlar.

o sayfaya değişken göndermek için yapmanız gerken


/**
* @Route("/firma/ekle",name="firma_ekle")
*/
public function writeAction()
{
$isim = 'Nurettin';
return $this->render("@Muhasebe/Default/firma_ekle.html.twig",['isim'=>$isim]);

}

burada Muhasebe adlı bir bundle oluşturdum. onun altında firma_ekle.html.twig dosyam mevcuttu oraya değişken gönderdim. isim adlı

templatte çıkartmak için ise

{{ isim }}

yazmanız yeterli.