Laravel 5 Framework Blade Tema Motorunda Kalıp Kullanımı

Merhaba arkadaşlar bu yazımda sizlere benim kalıp olarak nitelendirdiğim laravel dökümanında Layout olarak geçen yapıdan bahsedeceğim. Ben kendi kendime bunu kalıp olarak kodladığım için size de o şekilde anlatacağım.

Blade tema motorunda her sayfada değişken kısımlar vardır bazı kısımlarda sabit kalmalıdır. Şimdi bunları her sayfada tekrar tekrar yazmaktansa bir adet kalıp oluşturup bunu her sayfada kullanabiliriz.

Kalıp oluşturma

Öncelikle bir adet view dosyası oluşturalım. Bunun için resources/views/ klasörü altında layouts adında bir klasör oluşturalım. Ardından bu klasörde app.blade.php adında bir dosya oluşturalım.

<!doctype html>
<html lang="en">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <title>Merhaba dünya !</title>
</head>
<body>
    <p>Deneme yazı alanı.</p>

</body>
</html>

Kalıp kullanımı

Kalıplar her sayfada aynı HTML etiketleri tekrar tekrar yazmamak için kullanılır. Her sayfada sabit olan kısımları kalıp içerisinde yazıyoruz. Şimdi kalıbı başka bir view dosyasında kullanmayı göreceğiz.

Şimdi views klasörümüz içerisinde anasayfa.blade.php adında bir dosya oluşturalım ve aşağıdaki kodları yazalım.

@extends("app")

Bu method ile anasayfa view dosyasını app isimli blade dosyasıyla genişletmiş olduk. Bu view dosyasını ana rotamızda çalıştırırsak.

Kalıp içerisinde değişken alan

View dosyalarımızı genişletmeyi gördük ancak hep aynı kalıyorlar. Şimdi her view dosyasında farklı verilerin gözükeceği bir alan oluşturalım. Bunun için blade tema motorunun içerisinde bulunan yield methodunu kullanacağız. App isminde oluşturduğumuz kalıp dosyamızı düzenleyelim.

<!doctype html>
<html lang="en">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <title>Merhaba dünya !</title>
</head>
<body>
    @yield("icerik")

</body>
</html>

Şimdi yield ile değişken alanının ismini ve yerini belirledik. Bu arada birden fazla yield kullanabilirsiniz. Bu alanı kullanabilmek için section methodunu kullanıyoruz. Anasayfa view dosyamızda bu alana hemen kafamıza göre yazı değeri verelim.

@extends("app")
@section("icerik")
Bu alana her viewda farklı değer verebilirsiniz.
@endsection

Bu şekilde kayıt edip anasayfa view dosyasını rotamızdan çağırdığımız da ekrana şu şekilde bir görüntü verecektir.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir