zelenin/yii2-slug-behavior

Yii2 slug behavior

Installs: 76 074

Dependents: 21

Suggesters: 0

Security: 0

Stars: 51

Watchers: 4

Forks: 11

Open Issues: 2

Type:yii2-extension

1.5.1 2016-02-14 21:37 UTC

README

Yii2 slug behavior

Installation

Composer

The preferred way to install this extension is through Composer.

Either run php composer.phar require zelenin/yii2-slug-behavior "~1.5.1"

or add "zelenin/yii2-slug-behavior": "~1.5.1" to the require section of your composer.json

Using

Attach the behavior in your model:

public function behaviors()
{
    return [
        'slug' => [
            'class' => 'Zelenin\yii\behaviors\Slug',
            'slugAttribute' => 'slug',
            'attribute' => 'name',
            // optional params
            'ensureUnique' => true,
            'replacement' => '-',
            'lowercase' => true,
            'immutable' => false,
            // If intl extension is enabled, see http://userguide.icu-project.org/transforms/general. 
            'transliterateOptions' => 'Russian-Latin/BGN; Any-Latin; Latin-ASCII; NFD; [:Nonspacing Mark:] Remove; NFC;'
        ]
    ];
}

Slug may be generated from multiple and related attributes:

public function behaviors()
{
    return [
        'slug' => [
            ...
            'attribute' => ['name', 'language.username'],
            ...
        ]
    ];
}

Author

Aleksandr Zelenin, e-mail: aleksandr@zelenin.me