nkostadinov / yii2-taxonomy
Yii2 Taxonomy
dev-master
2018-10-05 08:11 UTC
Requires
- yiisoft/yii2: ~2.0.15.1
Requires (Dev)
- yiisoft/yii2-codeception: ~2.0.0
This package is auto-updated.
Last update: 2024-09-06 15:40:18 UTC
README
Yii2 Taxonomy管理。一个组件,它为您的应用程序添加通用的分类功能。该组件附带一些术语定义(标签、属性)。这些附加信息通过扩展创建的附加表添加。该扩展还提供了一种搜索行为,可以附加到AR实例以实现更简单的搜索。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist nkostadinov/yii2-taxonomy "*"
或
"nkostadinov/yii2-taxonomy": "*"
将以下内容添加到您的 composer.json
文件的require部分。
然后您需要将分类组件配置到您的配置文件中。
'components' => [
.......
'taxonomy' => [
'class' => 'nkostadinov\taxonomy\Taxonomy',
],
.......
最后,您需要运行初始迁移
yii migrate --migrationPath=@nkostadinov/taxonomy/migrations
用法
如果您需要使用分类的管理界面,必须将分类模块添加到您的配置中
'modules' => [
......
'taxonomy' => [
'class' => 'nkostadinov\taxonomy\Module'
],
建议仅在开发环境中使用分类 MODULE 来创建分类,就像gii一样。当您通过界面添加分类时,组件会创建一个迁移,您可以在生产环境中稍后执行它。
示例用法(标签)://返回用于操作此分类(分类必须在之前定义并且迁移已执行)的分类对象
$taxonomy = Yii::$app->taxonomy->getTerm('post_tags');
//向具有id $post_id的对象添加术语(例如标签)
$taxonomy->addTerm($post_id, ['read', 'important', 'new']);
//删除标签
$taxonomy->removeTerm($post_id, ['important', 'new']);
//检索标签
$taxonomy->getTerms($this->id);
// 返回 ['read']
分类
此包包含以下分类
TagTerm
基本标签代表添加到对象中的分类。它们没有值。您可以为项目添加多个标签。
PropertyTerm
它们与标签术语相同,但它们确实有值。您可以为项目添加多个属性。
CategoryTerm
能够创建层次结构术语(例如,分类)