lostcause / laravel-seo-meta
Laravel seo meta
1.0.2
2016-02-23 15:00 UTC
Requires
- php: >=5.4.0
- laravel/framework: 5.2.*
This package is auto-updated.
Last update: 2024-09-24 15:50:55 UTC
README
用于处理Laravel应用中SEO元标签的包
安装
通过Composer
$ composer require am2studio/laravel-seo-meta
使用方法
首先运行该包的迁移(src/migration/)
Schema::create('seo_metas', function (Blueprint $table) { $table->increments('id'); $table->string('model_type'); $table->integer('model_id')->unsigned(); $table->text('key'); $table->text('value'); $table->timestamps(); });
对于使用SEO元标签的每个模型,添加特质 "SeoMetaTrait" 并实现接口 "SeoMetaInterface"
use AM2Studio\Laravel\SeoMeta\SeoMetaTrait; use AM2Studio\Laravel\SeoMeta\SeoMetaInterface; class User implements SeoMetaInterface { use SeoMetaTrait;
"SeoMetaInterface" 接口包含模型需要实现的2个函数:"seoMetasConfig()" 和 "seoMetas()"
"seoMetasConfig()" 是模型的元数据配置
"seoMetas()" 是与模型 SEO 元标签的 "hasMany" 关联
public function seoMetasConfig() { return [ 'title' => ['generator' => 'example.com - '. $this->title], 'description' => ['generator' => 'green-rush.com - '. $this->title . ' - ' . $this->short_description,], 'keywords' => ['generator' => 'greenrush, dispensary, ' . $this->title . ', ' . $this->short_description, 'edit'=> false], 'og:image' => ['generator' => ["http://i.stack.imgur.com/hEobN.jpg", "http://i.stack.imgur.com/hEobN2.jpg"]], 'twitter:site' => [], ]; } public function seoMetas() { return $this->hasMany(SeoMeta::class, 'model_id')->where(['model_type' => __CLASS__]); }
您希望模型使用的每个 SEO 元标签都必须在此处定义。可能的 SEO 元标签列表
title -> string description -> string keywords -> string canonical -> string article:published_time -> string article:section -> string og:description -> string og:title -> string og:url -> string og:type -> string og:locale -> string og:locale:alternate -> array og:site_name -> string og:image -> array og:image:url -> array og:image:size -> string twitter:card -> string twitter:title -> string twitter:site -> string
对于您在配置中定义的每个 SEO 元标签,定义生成器(SEO 元标签将如何生成)和编辑(如果 SEO 元标签可以被编辑或将在模型保存时始终生成,默认为 true)
在模型上显示 SEO 元数据表单
{!! \AM2Studio\Laravel\SeoMeta\SeoMetaHelper::form($dispensary) !!}
变更日志
请参阅 CHANGELOG 了解最近的变化信息。
贡献
请参阅 CONTRIBUTING 和 CONDUCT 了解详细信息。
许可证
MIT许可证(MIT)。请参阅 许可证文件 了解更多信息。