Laravel通过路线名称自动显示SEO标签

问题描述 投票:0回答:1

我对Laravel有疑问。

我想从数据库自动显示SEO标签,但我不知道该怎么办。

我有这样的路线

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

来自SeoController,我想基于Route网址显示视图;

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知道哪条路线?

非常感谢

laravel laravel-routing
1个回答
1
投票

[我很乐意在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@index',
    'as' => 'homepage'
]);

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

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

并且还要确保在视图文件夹中为每个视图具有相应的刀片文件。

© www.soinside.com 2019 - 2024. All rights reserved.