عرض عنوان الصفحة بشكل Dynamic في أكثر من مكان
إذا كنت تريد عرض عنوان الصفحة في تبويب المتصفح وداخل محتوى الصفحة
يمكنك تعريف العنوان مرة واحدة باستخدام @section ثم عرضه في أكثر من مكان باستخدام @yield
نضع مكان عرض العنوان داخل ال Master Layout الذي ستستخدمه الصفحات الأخرى ونضيف مكان لعرض محتوى كل صفحة
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@yield('title', 'Default Title')</title>
</head>
<body>
<main>
@yield('content')
</main>
</body>
</html>الكود التالي يعرض قيمة ال Section المسماة title وإذا لم تحددها الصفحة سيظهر العنوان الافتراضي Default Title
@yield('title', 'Default Title')الآن ننشئ صفحة تستخدم ال Master Layout بواسطة @extends
@extends('layout.master')ثم نحدد عنوان الصفحة باستخدام @section
وإذا أردنا عرض نفس العنوان داخل محتوى الصفحة
نستخدم @yield('title') في المكان المطلوب داخل ال Section الخاصة بالمحتوى
@section('content')
<h1>@yield('title')</h1>
@endsectionوهنا كود الصفحة كامل
@extends('layout.master')
@section('title', 'Dashboard')
@section('content')
<h1>@yield('title')</h1>
<p>Welcome To Your Dashboard</p>
@endsectionالآن سيظهر عنوان Dashboard في تبويب المتصفح وداخل عنصر ال h1
إذا غيرت قيمة العنوان داخل @section('title', 'Dashboard') سيتغير في المكانين دون الحاجة لتعديل كل مكان بشكل منفصل
لاحظ أننا وضعنا عنصر ال h1 داخل @section('content') حتى يظهر في المكان المحدد له داخل ال Layout بواسطة @yield('content')