ORM Kütüphanesi ve Grid Table Kullanımı
Grid bileşeni kendisine bind niteliği ile belirtilen Sınıf diziden bir HTML tablosu oluşturur. Oluşturulan tabloda hangi sutunların bulunacağı @item direktifi ile bildirilir. @item direktifinin key niteliğine Varlık sınıfının uye ismi title niteliğine ise sutunun başlığı yazılır.

@item direktifi ile tabloya sınıf harici bilgi eklemek için input niteliği kullanılır.
<@item input=”link” title=”Düzenle” url=”testet.php?edit=$no”/>
Örneğin yukarıdaki @item direktifi ile düzenle başlıklı bir bağlantı oluşturulur ve bağlantı adresi url niteliği ile belirtilir.
Örnek Aşağıdaki gibi bir Varlık sınfımız olsun
<?php /** * @Table(name = "urun") */ class Urun extends Entity { /** * @Id * @Column(name = "no") */ private $no; /** * @Column(name = "ad") */ private $ad; /** * @Column(name = "fiyat") */ private $fiyat; /** * @Column(name = "resim") */ private $resim; function get($name) { return $this->$name; } function set($name,$value) { $this->$name = $value; } } ?>
Urunlerin listesini oluşturmak için aşağıdaki gibi bir kontrolcümüz olsun $list değişkenin içerisine veritabanından çektiğimiz bilgileri aktarıyoruz.
<?php import("phpf.controllers.facete"); import("dbf.persistence"); import("entity.urun",true); class UrunGrid extends Facete { protected $list; public function UrunGrid() { parent::Facete(); $em = EntityManager::getInstance(); $query= $em->createQuery("Select u from urun u"); $query->execute(); $this->list = $q->getResultList(); $this->render("grid.html"); } } ?>
Görünüm Dosyamız grid etiketinin bind niteliğine bind=”$this.list” eklememiz önemli
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <faces> <@import prefix="f" taglib="phpf.ui.*"/> <f:grid name="grid" height="30%" width="75%" bind="$this.list" border="1"> <@item key="no" title="Urun no" /> <@item key="ad" title="Urun adı"/> <@item key="fiyat" title="fiyat"/> <@item input="img" key="resim" title="Resim"/> <@item input="link" title="Detay" url="testet.php?edit=$no"/> </f:grid> </faces> </body> </html>
<@item key="no" title="Urun no" />
<@item key="ad" title="Urun adı"/>
<@item key="fiyat" title="fiyat"/>
<@item input="img" key="resim" title="Resim"/>
<@item input="link" title="Detay" url="testet.php?edit=$no"/>
Bu başlık için sizde yorum yazabilirsiniz.