Laravel автоматически отображать теги SEO через имя маршрута - PullRequest
0 голосов
/ 29 мая 2020

У меня есть вопрос по поводу Laravel.

Я хочу, чтобы тег SEO отображался автоматически из базы данных, но не знаю, как это сделать.

У меня есть такой маршрут

Route::get('/', [
    'uses' => 'SeoController@index',
    'as' => 'homepage'
]);
Route::get('/about', [
    'uses' => 'SeoController@index',
    'as' => 'about'
]);

From SeoController Я хочу отображать базу просмотров на Route url;

public function index()
    {
        switch ($route) {
            case '/':
                $title = "Homepage";
                return view('welcome', ['title'=> $title]); 
                break;
            case '/about':
                $title = "About page";
                return view('about', ['title'=> $title]);
                break;
            default:
                break;
        }
    }

Как я могу проверить $ route, чтобы узнать, какой маршрут пришел?

Спасибо много

1 Ответ

2 голосов
/ 29 мая 2020

Я хотел бы предложить лучший способ сделать это в Laravel.

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

class SeoController extends Controller
{
    public function home()
    {
        return view('home');
    }

     public function about()
    {
        return view('about');
    }

    public function contact()
    {
        return view('contact');
    }
}

Убедитесь, что у вас есть маршруты, зарегистрированные в web.php как:

Route::get('/', [
    'uses' => 'SeoController@home',
    'as' => 'homepage'
]);

Route::get('/about', [
    'uses' => 'SeoController@about',
    'as' => 'about'
]);

Route::get('/contact', [
    'uses' => 'SeoController@contact',
    'as' => 'contact'
]);

А также убедитесь, что у вас есть соответствующий файл лезвия для каждого из этих представлений в папке представлений.

...