Download the PHP package netliva/symfony-fast-search-table without Composer
On this page you can find all versions of the php package netliva/symfony-fast-search-table. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package symfony-fast-search-table
Symfony Fast Search Table
Symfony için cache yapılı filtrelemeli tablo listeleme yapısı.
Bu sistem listelemeyi direk veri tabanından topluca veri çekerek yapmak yerine, daha hızlı listeleme yapmak için; verileri cache dosyasında tutup, sayfa içi soruglar ile listelemeyi en hızlı şekilde yapabilmeyi amaçlamaktadır.
Kurulum
Bundle'ı aktifleştir
Ardından, projenizin "app/AppKernel.php" dosyasında paketi kayıtlı paketler listesine ekleyerek etkinleştirin:
Sayfa Yolu Tanımlanması
Sayfada tablo verilerinin yüklenebilmesi için aşağıdaki yol tanımlamasının yapılması gerekmektedir.
- prefix: Ön ek için dilediğiniz bir yol değeri girebilirsiniz.
Ayarlar Yapılandırması
Oluşturacağınız tabloların nasıl ve ne şekilde oluşturulacağının bilgisini yapılandırın.
- cache_path: Ön bellek dosyalarınızın nerede oluşturulacağını tanımlamanızı sağlar.
- default_limit_per_page: Tabloda her seferinde kaç kaydın listeleneceğinin belirlenmesi
- default_input_class: Arama form elemanlarının varsayılan css classlarının tanımlanması
- entities: Önbelleğe alınacak, tabloların yapılandırılması
Bağımlılıklar
Hızlı tablolamanın çalışabilmesi için bazı js bağımlılıklarına sahiptir. Vue ve Axios sisteminizde dahil değilse ilgili linklerini sitenizin temasına ilave edin;
Kullanım
User adında bir entitimiz olduğunu kabul edelim. Ve bu tablomuzda, ad (name), soyad (surname), doğum tarihi (birthday) ve oluşturma tarihi (createAt) verisi tuttuğumuzu varsayıyoruz. Bu tablodaki verilere göre aşağıdaki konfigrasyonu yapabiliriz.
Konfigrasyon
Öncelikle önbelleğe alınacak verileri konfirasyon dosyasında tanımlamalıyız. Tanılama entities belirteci altında yapılır. Her bir tablonuz bunun altında tanımlanır. Key değeri olarak istediğiniz değeri verebilirsiniz. Bu değeri listelemeyi oluştururken kullanacağız.
Listeleme
table_tbody_cells_vue_template : değişkeni içinde bir vue template göndermek gerekiyor. Bunun için twig makro kullanıyoruz. twig parentezlerinin {{ }} vue parantezleri ile karışmaması için; vue parantezlerini [[ ]] şeklinde köşeli parantez olarak kullanmamız gerekiyor.
filter_values : oluşturulan filtrelemelerin varsayılan değeri buradanbelirlenir. Hidden filtrelemelrin değerleri de burdan gönderilir..
record_variable_name : her bir listelenecek kaydın vue template içinde hangi değişken tanımıyla alacağınızı tanımlayacağınız bölüm.
vue_variables : ile vue template içinde kullanmak isteyeceğiniz twig değişkenlerini gönderebilirsiniz.
js_variables : ile vue template içinde kullanmak isteyeceğiniz javascript değişkenlerini gönderebilirsiniz.
js_methods : ile vue template içinde kullanmak isteyeceğiniz javascript fonksiyonlarını gönderebilirsiniz.
components ile vue template içinde import etmek isteyeceğiniz componentleri gönderebilirsiniz.
Veri Manipülasyonu
Veriyi cache'e kadetmeden önce ve listeleme işleminden hemen önce kullanabileceğiniz iki tane event listener mevcut; Bu listenerları aşağıdaki örnekteki gibi tanımlayabilirsin;