İçeriğe geç

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]
<?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));

}

}

[/php]

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

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

Routing.yml dosyasına girelim. aşagıdaki kodu ekliyelim.
[php]
web_admin_ajax:
resource: "@WebAdminBundle/Resources/config/routing/ajax.yml"
prefix: /ajax
[/php]

Sonrasında ilgili tiwg dosyasına gidiyoruz.
[php]{{ form_start(form) }}[/php]
hemen altına
[php]{{ form_row(form.ad) }}
<div id="sonuc"></div>[/php]
burada form.ad kendinize göre yani aratacagınzı veriye göre düzenlemeniz gerekiyor.

endblock altına girip.
[php]{% 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 %}
[/php]
kodunu ekliyorsunuz web_adminbundle_otel_ad kısmını oradaki verinize göre çekiyorsunuz.

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

Tarih:Symfony