Theme
Primary Color

عرض عنوان الصفحة بشكل Dynamic في أكثر من مكان

إذا كنت تريد عرض عنوان الصفحة في تبويب المتصفح وداخل محتوى الصفحة 

يمكنك تعريف العنوان مرة واحدة باستخدام @section ثم عرضه في أكثر من مكان باستخدام @yield

نضع مكان عرض العنوان داخل ال Master Layout الذي ستستخدمه الصفحات الأخرى ونضيف مكان لعرض محتوى كل صفحة

resources/views/layout/master.blade.php
<!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

وهنا كود الصفحة كامل

resources/views/pages/dashboard.blade.php
@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')

framework laravel learn