blok / metatags
Laravel的metatags助手
Requires
- php: >=7.1.6
This package is auto-updated.
Last update: 2024-09-13 21:46:53 UTC
README
包描述
Laravel的metatags助手。以更流畅的方式处理常见metatags,以便将其集成到项目中。
安装
通过composer安装
composer require blok/metatags
注册服务提供者
注意!如果您使用laravel>=5.5并具有包自动发现功能,则此步骤和下一步骤是可选的。
将服务提供者添加到config/app.php
中的providers
部分
Blok\Metatags\ServiceProvider::class,
注册外观
在config/app.php
中的aliases
部分注册包外观
Blok\Metatags\Facades\Metatags::class,
发布配置文件
php artisan vendor:publish --provider="Blok\Metatags\ServiceProvider" --tag="config"
使用方法
要使用Metatags助手,只需将此特性添加到您的模型中。
<?php
class User extends \Illuminate\Database\Eloquent\Model {
use \Blok\Metatags\Traits\HasMetatags;
}
如何定义metatags?
通过实体添加默认metatags => 您可以通过重写getMetatags()函数来实现。
<?php
class User extends \Illuminate\Database\Eloquent\Model {
use \Blok\Metatags\Traits\HasMetatags;
public function getMetatags($override = []){
$this
->setMetaTitle($this->name)
->setMetaDescription($this->description)
->setMetaKeywords($this->keywords);
return $this->formatMetatags($override);
}
}
如何在HTML中添加metatags?
在您的blade文件中,您可以简单地调用这些视图。
@include('metatags.meta', $user->getMetatags())
使用全局Metatags外观
很可能会在主布局模板中放置meta。有一个小助手可以帮助您完成这项工作。
例如,在您的/layouts/html中
@include('metatags.meta', app('metatags')->all())
然后在您的控制器中,您必须定义要检索metatags信息的实体。
app('metatags')->setEntity($user);
您也可以在控制器或AppServiceProvider中设置一些默认或常见metatags。
app('metatags')->setTitle('Default title');
重写默认metatags
在某些情况下,您可能还需要重写实体中的默认metatags。这就是为什么当您输出metatags时,您也可以添加自己的metatags。
@include('metatags.meta', app('metatags')->getMetatags(['title' => 'This will override the default one']))
metatags定义的顺序
- 全局定义的metatags
- 实体定义的metatags
- 重写metatags
metatags回退
当您想要使用与另一个metatags相同的变量来定义默认metatags回退时,可能会很麻烦。
因此,该软件包中包含了一些默认回退(例如,当没有定义og:title时使用metatags标题作为og:title)。
您可以通过导出config.php来覆盖它们,并且不要犹豫提出您自己的!
安全性
如果您发现任何与安全相关的问题,请通过电子邮件而不是使用问题跟踪器。
致谢
此软件包是通过cherrypulp/laravel-package-generator的帮助启动的。