MetinSeylan / PerfectView by MetinSeylan

Laravel 4 icin layout kontrolu ve json cevaplari
16
7
3
Package Data
Maintainer Username: MetinSeylan
Maintainer Contact: metinsyln@gmail.com (Metin Seylan)
Package Create Date: 2013-12-05
Package Last Update: 2016-01-06
Home Page:
Language: PHP
License: Unknown
Last Refreshed: 2024-11-11 15:15:25
Package Statistics
Total Downloads: 16
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 7
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

PerfectView nedir ?

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")