İçeriğe atla

Symfony twig e değişken gönderme

İlgili kontrollere gidip gerekli kodlarınızı yazın.
Örnegin:

 $em      = $this->getDoctrine()->getManager();
        $bugun_baslangic = strtotime(date("d-m-Y 00:00:01"));
        $bugun_bitis = strtotime(date("d-m-Y 23:59:59"));
        $yongiden = 2;
        $yongelen = 1;

        $bugun_toplam_arama  = $em
            ->createQueryBuilder()
            ->select('d')
            ->from('WebAdminBundle:AramaKayit', 'd')
            ->Where('d.kayit_tarihi <= :bitis')
            ->andWhere('d.kayit_tarihi >= :baslama')
            ->setParameter('baslama', $bugun_baslangic)
            ->setParameter('bitis', $bugun_bitis)
            ->getQuery()
            ->getResult();

 return $this->render('WebAdminBundle:Default:index.html.twig',array(
            'bugun_toplam_arama'=>count($bugun_toplam_arama),
        ));

Kontrollere eklediğimiz kodlar yukardadır.

İlgili template dosyasına yazmamız gereken kod:

{{ bugun_toplam_arama }} 

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/

Catchable Fatal Error: could not be converted to string hatası

Symfony kullanırken ilişkili tablolar kurdugunuzda aşagıdaki benzer bir hatayı bulabilirsiniz bu durumlarda ilişki kurduğunuz diğer tablonun entity sinde düzenleme yapmanız gerekiyor.

Örnek Kod Hatası:

Catchable Fatal Error: Object of class Web\AdminBundle\Entity\Otel could not be converted to string
500 Internal Server Error - ContextErrorException

Çözümü:

 

public function __toString()
    {
        return $this->getAd();
    }

burada o tablonun ad alanını stringe ceviyoruz.
Lütfen unutmayınız ilişki kurduğumuz tablodaki enttiye yazacagız. ve bu çözüm symfony kullananlar için geçerlidir.

Veritabanından gelen veriye göre işlem yapma

Veritabanınızda müşterinizin yasaklı olup olmadıgını kaydetmeniz için basit bir kod blogu
yasak telefon ve yasak mail diye alanlar oluşuturun. Sonrasında aşagıdakileri yapmanız yeterli.


'yasak_telefon' =>'Yasak Değil',
'yasak_mail' =>'Yasak Değil',
if(@$user->getYasakTelefon())
{
$yenikullanici['yasak_telefon'] = 'Yasak';
}
if(@$user->getYasakMail())
{
$yenikullanici['yasak_mail'] = 'Yasak';
}

Bu işlemi kontrollerde yapmanız gerekmektedir.

Symfony il , ilçe ve semt seçimi yaptırma

form type da
->add('Il', null, array('label'=>'Il','attr'=>array('class'=>'form-control')))

->add(‘Il’, null, array(‘label’=>’Il’,’attr’=>array(‘class’=>’form-control select2me’)))

new twige ekle

 



{% block script %}

{% endblock %}

Kontroller a ekle
$em = $this->getDoctrine()->getManager(); kodunun altına ekle

if($request->get(‘ilce’))
{
$ilce = $em->getRepository(‘WebAdminBundle:Ilce’)->find($request->get(‘ilce’));
$otel->setIlce($ilce);
}
if($request->get(‘semt’))
{
$semt = $em->getRepository(‘WebAdminBundle:Semt’)->find($request->get(‘semt’));
$otel->setSemt($semt);
}
if($request->get(‘mahalle’)) {
$mahalle = $em->getRepository(‘WebAdminBundle:Mahalle’)->find($request->get(‘mahalle’));
$otel->setMahalle($mahalle);
}

base.html.twig ekle

getir

new.html.twig form bitişinin başına ekle



edit.twig.html ekle

form_widget altına ekle



Sayfanın en altına
{% block script %}

{% endblock %}

İndir:
http://www.tasarimrehberi.net/download/150/