生成SEO标签
v0.1.1
2020-08-28 04:06 UTC
Requires
- php: ^7.0
- illuminate/support: ^7.0
Requires (Dev)
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-28 13:30:48 UTC
README
正如标题所述,这个包配置了laravel模型中的搜索引擎优化,甚至如果您想的话,可以保存SEO到数据库中
安装
您可以通过composer安装此包
composer require claudiusnascimento/seo:0.1.1
在config\app.php的服务提供者数组中添加SeoServiceProvider
ClaudiusNascimento\Seo\SeoServiceProvider::class
在config\app.php的别名数组中添加SeoFacade
'Seo' => ClaudiusNascimento\Seo\SeoFacade::class
在您的模型中添加该特质
use ClaudiusNascimento\Seo\Traits\SeoTrait; class Page { use SeoTrait; }
发布配置文件(非强制)
php artisan vendor:publish --provider="ClaudiusNascimento\Seo\SeoServiceProvider" --tag="config"
使用方法
现在,您可以在控制器中设置SEO,如下所示
public function homePage() { $page = Page::find(1); \Seo::setTitle('Home Page'); }
在适当的位置添加以下内容,以生成元标签
{!! \Seo::generate() !!}
此行将生成SEO HTML元标签。
数据库保存
如果您想,并且我强烈推荐,您可以将SEO保存到数据库中。
迁移seo表
php artisan migrate --path=vendor/claudiusnascimento/seo/database/migrations
在您的编辑模型视图中放置以下HTML
{{ $model->generateSeo() }}
此行将显示用于将SEO存储在数据库中的表单。您可以将此放在其他位置,但需要模型实例。
工作原理
为了生成存储SEO的表单,该包需要模型ID和模型关系,ID从 $model->id 获取,SEO关系将从 class_basename 自动获取。强烈建议您更改此行为。
在您的模型中您可以添加属性
public $seo_relation = 'pages'; // for example
或者,您也可以添加一个方法
public function getSeoRelation() { return 'pages'; }
现在,您在控制器中设置SEO的方式将改变
public function homePage() { $page = Page::find(1); \Seo::setModel($page); }
代码将从编辑视图中获取存储的SEO
***您可以将SEO表单存储在任意位置。只需模型对象即可 ***
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全
如果您发现任何安全问题,请通过电子邮件cau@claudiusnascimento.com报告,而不是使用问题跟踪器。
鸣谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。
Laravel包模板
此包是用Laravel包模板生成的。