metinseylan / perfectview
Laravel 4 icin layout kontrolu ve json cevaplari
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-11-09 17:14:13 UTC
README
Not: Kullanmayın artık. (kullanışsız)
CSS, JS gibi kaynakları kolayca yönetebilir, şablonlara sınırsız alt şablon atayabilir, ajax sorgularında ek kod yazmadan json cevap verebilir, şablonlar üzerinden base html şablonuna sayfa başlığı, script ve css leri hooking edebilir ve HEAD tagları ekleyebilirsiniz
Kurulum
Laravel 4 composer.json dosyasının "require" dizisine ekleyiniz
"metinseylan/perfectview": "dev-master"
ardından komut satırına
composer update
çalıştırdıktan sonra Laravel 4 config klasörü altındaki app.php dosyasının "providers" dizisine
'MetinSeylan\PerfectView\PerfectViewServiceProvider'
ekleyin ve yine aynı dosyanın "aliases" dizisine
'PerfectView' => 'MetinSeylan\PerfectView\Facades\PerfectView'
ekleyin ve kurulum tamamlandı.
Kullanım
Öncelikle view klasörü altına bir "base.blade.php" adında bir dosya oluşturuyoruz bu bizim olmazsa olmaz view dosyamız oluyor çağırılan bütün view dosyaları bunun üzerinden gösterilecek.
Örnek base dosyamız
<!doctype html> <html prefix="og: http://ogp.me/ns#"> <head> @section('head_hook') <base href="@yield('base', Config::get('app.url'))"> <meta charset="UTF-8"> <title>{{ PerfectView::title() }}</title> <meta name="viewport" content="@yield('viewport', 'width=device-width, initial-scale=1')"> {{ PerfectView::tag() }} {{ PerfectView::style() }} @show </head> <body> @section('content_hook') {{ $content }} @show <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> {{ PerfectView::script() }} </body> </html>
Basit kullanım
return PerfectView::make("merhaba", $data);
bu örnekte merhaba adlı view şablonu base dosyamızın $content değişkeninde basılır.
Wrap Kullanımı (çerçeveleme)
return PerfectView::wrap("menu", $data)->make("merhaba", $data);
burada ise merhaba view şablonu menu şablonundaki $content değişkenine basıldı ve bu iki şablonda yine base şablonundaki $content değişkeninde gösterildi data detaylı açarsak base->menu->merhaba
Önemli wrap fonksiyonu sınırı yoktur örneğin
return PerfectView::wrap("bildirim")->wrap("ustmenu")->wrap("menu")->make("merhaba");
Ayarlamalar
herzaman base şablonu yüklemek istemeyebilirsiniz bunun için
return PerfectView::make("merhaba", $data, array('nonBase' => true));
wrap fonksiyonunu kullandınız fakat duruma göre wrap edilmiş şablonları gizleme ihtiyacı duydunuz bunun için
return PerfectView::make("merhaba", $data, array('onlyContent' => true));
Tag, Asset ve Title
base şablonu dışında diğer bütün şablonlardan asset ve tag ataması yapabilirsiniz
tag eklemek için (blade kullanıyorsanız php tagları kullanın)
PerfectView::tag('meta' => array('content' => 'içerik', 'title' => 'mesela'));
Asset Eklemek için
PerfectView::asset('js/script.js'); PerfectView::asset('css/style.css');
Sayfa başlığı eklemek için (title)
PerfectView::title('siteme hoşgeldin reyiz');
Ajax cevapları
eğer bir ajax isteği gelirse base şablonu olmadan json şeklince cevap verir örneğin
{ "template":"render edilmiş html", "title":"sayfa başlığı", "script":"javascript tagı", "style":"css tagı" }
eğer herzaman json cevabı istemiyorsanız
return PerfectView::make("merhaba", $data, array('ajax' => false));
şeklinde kullanın
bazende json cevaplarında sadece veri istenilebilir
return PerfectView::make("merhaba", $data, array('jsonData' => true));
böylece view şablonu render edilmez ve json veri olarak sadece $data ve sayfa başlığı döndürülür
Config dosyası
vendor/metinseylan/perfectview/config/config.php altındadır.
php artisan config:publish metinseylan/perfectview
komutu ile "app\config\packages\metinseylan\perfectview" dizini altına alınabilir.
Ayarlar
'assetFolder' ile script ve css dosyalarınızın bulunduğu dizini belirtebilirsiniz
'baseView' ile base şablonunuzu belirtebilirsiniz (varsayılan "base")