yii2-taxonomy

Yii2 taxonomy extension

Github星跟踪图

Yii2 Taxonomy

Build Status
Scrutinizer Code Quality

Yii2 Taxonomy management. A component which adds generic taxonomy functionalities to your application. The component
comes with a couple of term definitions(tags, properties). These additional info is added via addition tables created
by the extension. The extension also offers a search behavior which can be attached to AR instances for easier searching.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist nkostadinov/yii2-taxonomy "*"

or add

"nkostadinov/yii2-taxonomy": "*"

to the require section of your composer.json file.

Then you need to configure the taxonomy component to your configuration file.

    'components' => [
        .......
        'taxonomy' => [
            'class' => 'nkostadinov\taxonomy\Taxonomy',
        ],
        .......

Finally you need to run the initial migration

yii migrate --migrationPath=@nkostadinov/taxonomy/migrations

Usage

If you need to use the management interface for taxonomies you must add the Taxonomy module to you configuration

    'modules' => [
        ......
        'taxonomy' => [
            'class' => 'nkostadinov\taxonomy\Module'
        ],

It is recommended to use the taxonomy MODULE only on dev environment to create the taxonomies just like gii. When you add a taxonomy via the interface the component creates a migration so you can execute it on production later.

Sample usage (tags):
//return a taxonomy object used to manipulate this taxonomy(taxonomy must be defined before that and the migrations executed)

$taxonomy = Yii::$app->taxonomy->getTerm('post_tags');

//Adding terms (e.g. tags) to an object with id $post_id

$taxonomy->addTerm($post_id, ['read', 'important', 'new']);

//Deleting tags

$taxonomy->removeTerm($post_id, ['important', 'new']);

//Retrieving tags

$taxonomy->getTerms($this->id);

// returns ['read']

Taxonomies

The bundled taxonomies with these package are :

TagTerm

Basically tag represent taxonomies which are added to an object. They do not have a value. You can add multiple tags to an item.

PropertyTerm

They are the same as tag terms but they DO have a value. You can add multiple properties to an item.

CategoryTerm

Ability to create hierarchical terms (e.g. categories)

主要指标

概览
名称与所有者nkostadinov/yii2-taxonomy
主编程语言PHP
编程语言PHP (语言数: 1)
平台
许可证
所有者活动
创建于2014-10-19 08:07:28
推送于2020-10-06 07:34:01
最后一次提交2018-10-05 11:11:06
发布数0
用户参与
星数8
关注者数4
派生数2
提交数98
已启用问题?
问题数3
打开的问题数0
拉请求数8
打开的拉请求数1
关闭的拉请求数1
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?