Laravelで動的なページを設定する方法


<!DOCTYPE html>
<html>
<head>
   <title>@yield('title')</title>
</head>
<body>
</body>
</html>

ページごとに異なるタイトルを設定するには、各ビューファイルで@section@endsectionディレクティブを使用します。

@extends('layouts.app')
@section('title', 'ページのタイトル')
@section('content')
   <!-- ページのコンテンツ -->
@endsection

このようにすると、各ビューファイルで異なるタイトルを指定することができます。

public function index()
{
   $pageTitle = 'ページのタイトル';
   return view('page.index', compact('pageTitle'));
}

そして、ビューファイルで次のようにタイトルを表示します。

@extends('layouts.app')
@section('title', $pageTitle)
@section('content')
   <!-- ページのコンテンツ -->
@endsection

コントローラからビューファイルにタイトルを渡すことで、動的なページタイトルを設定することができます。

function setPageTitle($title)
{
   view()->share('title', $title);
}

そして、コントローラのアクション内で次のようにヘルパーメソッドを呼び出します。

public function index()
{
   setPageTitle('ページのタイトル');
   return view('page.index');
}

ビューファイルでは、以下のようにしてタイトルを表示します。

@extends('layouts.app')
@section('title')
@endsection
@section('content')
   <!-- ページのコンテンツ -->
@endsection

これにより、ヘルパーメソッドを介してタイトルを設定することができます。

これらの方法を使用することで、Laravelで動的なページタイトルを設定することができます。適切な方法を選択して、ウェブアプリケーションの要件に応じて動的なタイトルを表示しましょう。