mxschll / laravel-meta-tags
此包已被废弃,不再维护。未建议替代包。
为 Laravel 提供更好的 SEO。
v1.1.0
2020-08-28 11:12 UTC
Requires
- php: >=7
Requires (Dev)
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2023-02-28 16:56:27 UTC
README
此包允许您轻松地从控制器、blade 视图或其他任何地方管理 HTML 元标签。它非常可定制且易于配置。
安装
导航到您 Laravel 项目的根目录,并在控制台中运行以下命令
composer require mxschll/laravel-meta-tags
该包将自动注册一个服务提供者。
为了配置您的安装,您需要发布配置文件
php artisan vendor:publish --provider="mxschll\MetaTags\MetaTagsServiceProvider"
配置文件位于 src/config/meta-tags.php
。
第一步
要开始使用,请在页面 <head>
标签内添加 @meta
Blade 指令
<head>
<title>Laravel</title>
@meta
....
</head>
现在,所有标准标签都按照配置文件中的设置插入到页面中。
在 Blade 模板中的使用
添加特定元标签
如果您只想添加特定标签,可以使用 Blade 指令 @meta_get()
<head> <title>Laravel</title> @meta_get('keywords') @meta_get('og:description') .... </head>
设置元标签值
要在 Blade 模板内动态设置元标签,使用 @meta_set()
<head> <title>Laravel</title> @meta_set({ "description": "This is a very nice description.", "robots": "noindex" }) @meta .... </head>
这将生成以下元标签
... <meta name="description" content="This is a very nice description."> <meta name="twitter:description" content="This is a very nice description."> <meta property="og:description" content="This is a very nice description."> <meta name="robots" content="noindex"> ...
如您所见,所有描述标签的值都已更改。当然,您也可以通过提供确切的标签名称来为每个标签设置单独的值
<head> <title>Laravel</title> @meta_set({ "description": "This is a very nice description.", "twitter:description": "This is a twitter card description.", "og:description": "This is an open graph description." "robots": "noindex" }) @meta .... </head>
这将生成以下元标签
... <meta name="description" content="This is a very nice description."> <meta name="twitter:description" content="This is a twitter card description."> <meta property="og:description" content="This is an open graph description."> <meta name="robots" content="noindex"> ...
在控制器中的使用
您可以通过使用 \Meta::set($tag, $value)
在 Laravel 应用程序的任何地方设置元标签。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class PageController extends Controller { public function __construct() { \Meta::set('og:site_name:', 'Laravel'); } public function showHomePage(Request $request) { \Meta::set('description', 'This is the home page description.'); return view('home'); } public function showArticlePage(Request $request) { \Meta::set('description', 'This is the article page description.'); \Meta::set('og:type', 'article'); return view('article'); } }
在路由中的使用
Route::get('/', function () { Meta::set('description', 'Hello World!'); return view('welcome'); });
配置
在设置元标签值时,您可以使用一些特殊的值。这些值不仅可以用于配置文件,还可以用于可以设置元标签的任何地方。
值 | 描述 | 示例 |
---|---|---|
[url] |
被替换为当前请求的 URL。 | [url] |
[asset:ressource] |
将 ressource 传递给 asset() 辅助函数。 |
[asset:img/social.png] |