Наполните свой веб-сайт Laravel динамическим заголовком и описанием

Метод 1: использование параметров маршрута

Route::get('/posts/{id}', 'PostController@show');

В вашем PostController

public function show($id)
{
    $post = Post::find($id);
    // Set the dynamic title and description
    $title = $post->title;
    $description = $post->description;
    return view('post.show', compact('post', 'title', 'description'));
}

Метод 2: использование составителей представлений

class PostComposer
{
    public function compose(View $view)
    {
        $post = Post::find($view->getData()['post_id']);
        $view->with('title', $post->title);
        $view->with('description', $post->description);
    }
}
// In a service provider
public function boot()
{
    View::composer('post.show', PostComposer::class);
}

Метод 3. Использование директив Blade

// In your AppServiceProvider
public function boot()
{
    Blade::directive('title', function ($expression) {
        return "<?php \$title = $expression; ?>";
    });
    Blade::directive('description', function ($expression) {
        return "<?php \$description = $expression; ?>";
    });
}

В файле представления вы можете использовать такие директивы:

@title($post->title)
@description($post->description)

Метод 4: использование промежуточного программного обеспечения

public function handle($request, Closure $next)
{
    $response = $next($request);
    if ($request->route()->getName() === 'post.show') {
        $post = Post::find($request->route('id'));
        $response->header('X-Title', $post->title);
        $response->header('X-Description', $post->description);
    }
    return $response;
}

Извлекая заголовок и описание из промежуточного программного обеспечения, вы можете легко получить к ним доступ в заголовочном разделе HTML и установить соответствующие метатеги.

Подведение итогов

В этой статье мы рассмотрели несколько способов добавить динамичности заголовку и описанию вашего веб-сайта Laravel. Используя параметры маршрута, композиторы представлений, директивы Blade или промежуточное программное обеспечение, вы можете легко создавать динамические теги заголовка и описания, улучшая SEO вашего веб-сайта. Поэкспериментируйте с этими методами и найдите тот, который лучше всего соответствует вашим потребностям. Приятного кодирования!