v2.3.1
Giriş yap
  • Kategoriler
  • Başlıklar
  • Paylaş
Array ( [0] =>
// layouts/index.blade.php
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>{{ config('app.name', 'Laravel') }}</title>
    ..
    @stack('custom-head')
    ..
</head>
[1] => // layouts/index.blade.php <!doctype html> <html> <head> <meta charset="utf-8"> <title>{{ config('app.name', 'Laravel') }}</title> .. @stack('custom-head') .. </head> ) Array ( [0] =>
// users.blade.php
@extends('layout')

@push('custom-head')
    <link href="{{ mix('css/users.css') }}">
@endpush
[1] => // users.blade.php @extends('layout') @push('custom-head') <link href="{{ mix('css/users.css') }}"> @endpush )

Laravel @stack ve @push Direktifleri

@stack direktifi, belirlenen isimle bir alan oluşturmanızı sağlar. Böylece @push direktifini kullanarak diğer view'larınızda bu alana sayfaya özel içerikler ekleyebilirsiniz.

Örneğin sayfaya özel js, css ya da bir takım diğer kodları bu sayede sadece o sayfaya girince gösterebilirsiniz.

Layout sayfanızda bu örnekte benim ki layouts/index.blade.php şeklinde, <head> etiketimin içerisinde custom-head adında bir alan oluşturdım.

// layouts/index.blade.php
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>{{ config('app.name', 'Laravel') }}</title>
    ..
    @stack('custom-head')
    ..
</head>

Ve artık alt view'larımda o sayfama özel bir css, js ya da herhangi bir kod ekleteceksem @push direktifini kullanabiliriz.

// users.blade.php
@extends('layout')

@push('custom-head')
    <link href="{{ mix('css/users.css') }}">
@endpush
@section ve @yield direktiflerinden farklı olarak, bu direktifler ile birden fazla kez içerik ekleyebilirsiniz. Ancak @section ve @yield direktifleri bir sefere mahsus içerik ekletir.
Ve ek olarak, genişleteceğiniz sayfayı @extends direktifi ile belirlemeniz gerektiğini unutmayın.

Ayrıca bkz: @push @yield @section @extends @prepend

tayfunerbilen
252 gün önce yazdı - 380 kez görüntülendi.
Önceki @include Sonraki @php