Slugging for CakePHP 3.x
Using Composer:
composer require muffin/slug:dev-master
You then need to load the plugin. In boostrap.php
, something like:
\Cake\Core\Plugin::load('Muffin/Slug');
Now you can add the behavior to your table classes in the initialize()
method.
public function initialize(array $config)
{
//etc
$this->addBehavior('Muffin/Slug.Slug', [
// Here you can define your options, the defaults can be found in the behaviours $_defaultConfig
]);
}
If you want to find a record using it's slug, a custom finder is provided by the plugin.
// src/Controller/ExamplesController.php
$example = $this->Examples->find('slugged', ['slug' => $slug]);
- Fork
- Mod, fix
- Test - this is important, so it's not unintentionally broken
- Commit - do not mess with license, todo, version, etc. (if you do change any, bump them into commits of their own that I can ignore when I pull)
- Pull request - bonus point for topic branches
To ensure your PRs are considered for upstream, you MUST follow the CakePHP coding standards. A pre-commit
hook has been included to automatically run the code sniffs for you:
ln -s ../../contrib/pre-commit .git/hooks/.
http://github.com/usemuffin/slug/issues
This was originally inspired by @dereuromark's SluggedBehavior
.
Copyright (c) 2015, Use Muffin and licensed under The MIT License.