Вывод метатегов в компонент
Давайте теперь в макете сайта укажем место, в которое будет вставлен тайтл страницы. Это делается с помощью например переменной $title
:
resources/views/components/layout.blade.php<!DOCTYPE html>
<html>
<head>
<title>{{ $title }}</title>
</head>
<body>
{{ $slot }}
</body>
</html>
Теперь в виде (представлении) контроллера зададим текст нашего тайтла. Это делается с помощью тега <x-slot>
следующим образом:
resources/views/post/show.blade.php<x-layout>
<x-slot:title>
page title
</x-slot>
page content
</x-layout>
Метатеги из переменной контроллера
Пусть теперь в вид (представление) передается не только контент, но и тайтл:
app/Http/Controllers/PostController.php<?php
class PostController extends Controller
{
public function show()
{
return view('post.show', [
'title' => 'page title',
'text' => 'page content',
]);
}
}
Давайте выведем переданный тайтл в виде (представлении):
resources/views/post/show.blade.php<x-layout>
<x-slot:title>
{{ $title }}
</x-slot>
{{ $text }}
</x-layout>
В слоте для тайтла вместе с переменной можно вывести и какой-нибудь текст:
resources/views/post/show.blade.php<x-layout>
<x-slot:title>
{{ $title }} - site.com
</x-slot>
{{ $text }}
</x-layout>