// Controller
public function show($id)
{
$post = Post::findOrFail($id);
$title = $post->title;
return view('post.show', compact('post', 'title'));
}
// View (post/show.blade.php)
<title>{{ $title }} - My Awesome Blog</title>
// app/Helpers/TitleHelper.php
function generateDynamicTitle($pageName)
{
$mainTitle = 'My Awesome Website';
$title = $mainTitle;
if ($pageName) {
$title .= ' - ' . $pageName;
}
return $title;
}
// Controller
use App\Helpers\TitleHelper;
public function show($id)
{
$post = Post::findOrFail($id);
$pageTitle = generateDynamicTitle($post->title);
return view('post.show', compact('post', 'pageTitle'));
}
// View (post/show.blade.php)
<title>{{ $pageTitle }}</title>
// resources/lang/en/titles.php
return [
'blog' => 'Welcome to My Awesome Blog',
'about' => 'Learn More About Us',
// ...other titles
];
// Controller
public function show($id)
{
$post = Post::findOrFail($id);
$pageTitle = __('titles.blog');
return view('post.show', compact('post', 'pageTitle'));
}
// View (post/show.blade.php)
<title>{{ $pageTitle }}</title>
// Model (Post.php)
public function getSlugAttribute()
{
return Str::slug($this->title);
}
// View (post/show.blade.php)
<title>{{ $post->title }} - My Awesome Blog</title>
<meta name="description" content="{{ $post->title }} - Read more on My Awesome Blog">
// Route (web.php)
Route::get('posts/{slug}', 'PostController@show');
Помните, привлекательный заголовок может существенно повлиять на видимость вашего сайта и вовлеченность пользователей. Так что экспериментируйте с этими методами, чтобы ваши игры выделялись из толпы!
На этом пока все. Приятного кодирования!