Skip to content

Configuration

Model

All we need to do is add HasTags trait to our model and initialize tags with initTags() method.

Note

You don't need to modify $allowedFields array (if you use it) or your existing database schema.

// app/Models/ImageModel.php
<?php

// ...

use CodeIgniter\Model;
use Michalsn\CodeIgniterTags\Traits\HasTags;

class ImageModel extends Model
{
    use HasTags;

    // ...

    // Values below are only an example for ImageModel table fields
    protected $allowedFields = ['name', 'width', 'height'];

    // ...

    protected function initialize()
    {
        $this->initTags();
    }

    // ...

}

Entity

If your model return type is an Entity, then you can also add TaggableEntity trait to it. It will help you with making changes related to the tags when working directly with the entity.

// app/Entities/Image.php
<?php

// ...

use CodeIgniter\Entity\Entity;
use Michalsn\CodeIgniterTags\Traits\TaggableEntity;

class Image extends Entity
{
    use TaggableEntity;

    // ...
}

Config

We can publish configuration file into our app namespace via command:

php spark tags:publish

Note

This is not mandatory. You should publish a config file only if you want to change the default values.

The configuration file gives us control over some of the library's features.

$cleanupUnusedTags

This gives us control over how unused tags are treated. If we set true, we will remove all unused tags. The action to remove unused tags is triggered whenever we update an entry that uses tags. By default, this is set to true.