Подтвердить что ты не робот

Laravel 4 как применить название и метаинформацию к каждой странице с главной страницей клика

Попытка применить индивидуальное название и мета-описание к моим страницам веб-сайтов, но я не уверен, что способ, которым я пытаюсь, очень чист.

master.blade.php

<!DOCTYPE html>
<html lang="en">
<head>
    <title>{{ $title }}</title>
    <meta name="description" content="{{ $description }}">
</head>

отдельная страница

@extends('layouts.master')
<?php $title = "This is an individual page title"; ?>
<?php $description = "This is a description"; ?>

@section('content')

Я чувствую, что это быстрый и грязный способ выполнить работу, есть ли более чистый способ?

4b9b3361

Ответ 1

Это также работает:

master.blade.php

<!DOCTYPE html>
<html lang="en">
<head>
    <title>@yield('title')</title>
    <meta name="description" content="@yield('description')">
</head>

отдельная страница

@extends('layouts.master')

@section('title')
    This is an individual page title
@stop

@section('description')
    This is a description
@stop

@section('content')

или если вы хотите сократить это еще раз, выполните следующие действия:

отдельная страница

@extends('layouts.master')

@section('title', 'This is an individual page title')
@section('description', 'This is a description')

@section('content')

Ответ 2

Это должно работать:

@extends('layouts.master')
<?php View::share('title', 'title'); ?>

...

Вы также можете сделать это:

@extends('views.coming-soon.layout', ['title' => 'This is an individual page title'])

Ответ 3

Настоятельно рекомендую следующее:

https://github.com/artesaos/seotools

Вы передаете информацию в представление, требующее содержимого

SEOTools::setTitle($page->seotitle);
SEOTools::setDescription($page->seodescription);

Ответ 4

никто не думает, что лучший способ - создать свой собственный класс с фасадом (Site:: title(), Site:: description и т.д.) и мутаторы (через Str:: macro), которые автоматически проверяют, есть ли название, описание и т.д. в правом формате (максимальная длина, добавление категорий, по умолчанию, разделители и т.д.) и клонирование данных в другие поля (title= > og: title, description = > og: description) при необходимости?