oxy-coach / yii2-seo-behavior
yii2 生成 slug 和 SEO 填充帮助行为
v1.1
2018-08-20 08:53 UTC
Requires
- php: >=7.0
This package is not auto-updated.
Last update: 2024-09-29 05:42:07 UTC
README
此行为帮助基于名称字段值生成 slug 和填充模型 SEO 属性
通过 Composer 安装
运行以下命令
$ composer require oxy-coach/yii2-seo-behavior "*"
或者将以下内容添加到你的 composer.json
文件的 require 部分:
$ "oxy-coach/yii2-seo-behavior": "*"
配置
将行为附加到你的模型类中
use oxycoach\seobehavior\SeoBehavior; \\ ... public function behaviors() { return [ 'SeoBehavior' => [ 'class' => SeoBehavior::className(), 'nameAttribute' => 'name', 'slugAttribute' => 'slug', 'seoAttributes' => ['seoTitle', 'seoKeywords', 'seoDescription'] ], ]; } public function rules() { return [ [['name'], 'required'], [['name', 'slug', 'seoTitle', 'seoKeywords', 'seoDescription'], 'string'], ]; }
这样配置后,在保存 AR 模型之前,如果 slug
属性为空,它将使用从 name
属性生成的 slug 填充,如果任何 seoAttributes
属性为空,它将使用 name
字段值填充。
注意,默认情况下,slug 是从包含西里尔符号的字符串中生成的,所以如果你使用其他编码或符号,你可以提供自己的函数/方法来生成 slug,使用
transliterationFunction
属性,如下面的示例所示
\\ ... public function behaviors() { return [ 'SeoBehavior' => [ 'class' => SeoBehavior::className(), 'nameAttribute' => 'name', 'slugAttribute' => 'slug', 'transliterationFunction' => 'namespace\for\MyTransliterator::myMethod', 'seoAttributes' => ['seoTitle', 'seoKeywords', 'seoDescription'] ], ]; }