nkostadinov/yii2-taxonomy

Yii2 Taxonomy

安装: 294

依赖: 1

建议者: 0

安全: 0

星标: 8

关注者: 5

分支: 2

开放问题: 1

类型:yii2-extension

dev-master 2018-10-05 08:11 UTC

This package is auto-updated.

Last update: 2024-09-06 15:40:18 UTC


README

Build Status Scrutinizer Code Quality

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

能够创建层次结构术语(例如,分类)