"Enter"a basıp içeriğe geçin

Symfony: Textfielde yazılan veri varmı

Bu yazıda symfony de text field e veri yazarken o veri daha önce eklenmiş onu kontrol etmenizi sağlayan eklentiyi paylaşıyorum.

İşlem yapacagınız bölümler:

  • Routing
  • Conroller
  • Views

bu üç dosyada işlem yapacaksınız.

Öncelikle controller oluşturmanız gerekiyor. ismi AjaxController.php olsun içeriği

<?php namespace Web\AdminBundle\Controller; use Symfony\Component\HttpFoundation\Response; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; /** * Ajax controller. * */ class AjaxController extends Controller { public function otel_kontrolAction(Request $request) { $em = $this->getDoctrine()->getManager();
        $otel_ad = $request->get('kayitli');
        $otel = $em->getRepository("WebAdminBundle:Otel")->findOneBy(array('ad'=>$otel_ad));
        $sonuc = array();
        if($otel)
        {
            $otel_url = $this->generateUrl('otel_show',array('id'=>$otel->getId()));
            $sonuc['durum'] = 0;
            $sonuc['html'] = 'Kayitli Otel gitmek için <a href="'.$otel_url.'">tıklayınız</a>';
        }
        else
        {
            $sonuc['durum'] = 1;
            $sonuc['html'] = '';
        }
        return new Response(json_encode($sonuc));

    }

}


Sonrasında routing dosyası oluşturalım ismi ajax.yml olsun.

ajax_otelkontrol:
    path:     /otelkontrol
    defaults: { _controller: "WebAdminBundle:Ajax:otel_kontrol" }

Routing.yml dosyasına girelim. aşagıdaki kodu ekliyelim.

web_admin_ajax:
    resource: "@WebAdminBundle/Resources/config/routing/ajax.yml"
    prefix:   /ajax

Sonrasında ilgili tiwg dosyasına gidiyoruz.

{{ form_start(form) }}

hemen altına

{{ form_row(form.ad) }}
                            <div id="sonuc"></div>

burada form.ad kendinize göre yani aratacagınzı veriye göre düzenlemeniz gerekiyor.

endblock altına girip.

{% block script %}
     <script>
        $(document).ready(function () {
            $('#web_adminbundle_otel_faturaNumarasi').keyup(function () {
                fatura_kontrol($(this).val());
            });
            $('#web_adminbundle_otel_ad').focusout(function () {
                fatura_kontrol($(this).val());
            });
            $('#web_adminbundle_otel_ad').change(function () {
                fatura_kontrol($(this).val());
            });
        });
        function fatura_kontrol(deger) {
            veriler = 'kayitli='+deger;
            $.post('{{ path('ajax_otelkontrol') }}',veriler,function (sonuc) {
                $('#sonuc').html(sonuc.html);

            },'json');
        }
    </script>
{% endblock %}

kodunu ekliyorsunuz web_adminbundle_otel_ad kısmını oradaki verinize göre çekiyorsunuz.

İlgili Dosyaları indir:
http://www.tasarimrehberi.net/download/217/