suilven / sluggable
Add a slug field to any DataObject
Installs: 641
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 2
Open Issues: 1
Type:silverstripe-vendormodule
Requires
- php: ~7.1
- silverstripe/recipe-cms: 4.x-dev
Requires (Dev)
This package is auto-updated.
Last update: 2024-10-29 05:41:06 UTC
README
This SilverStripe module allows the developer to add a field that will be converted to a slug (kebab case) when saved
Configuration
For any given class that needs slugs, the extension Suilven\Sluggable\Extension\Sluggable
needs added and also
the name of the field name to slug, under the key slug
. The slug is stored in a field called Slug
on the data object
after a write is executed.
--- Name: cricket-slugs --- Suilven\CricketSite\Model\Club: extensions: - Suilven\Sluggable\Extension\Sluggable slug: Name Suilven\CricketSite\Model\Player: extensions: - Suilven\Sluggable\Extension\Sluggable slug: DisplayName
Enable Configuration
vendor/bin/sake dev/build flush=all
Then reload the browser, <your site>/admin?flush=all
Now when the above models are saved, they will be saved with a slug associated with them.
Install
Via Composer
$ composer require suilven/sluggable
Usage
Assuming the configuration above:
$club = new Suilven\CricketSite\Model\Club(); $club->Name = 'GitHub Cricket Club'; $club->write(); echo $club->Slug
The value output will be github-cricket-club
Change log
Please see CHANGELOG for more information on what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email gordon.b.anderson@gmail.com instead of using the issue tracker.
Credits
- [Gordon Anderson][link-author]
License
The MIT License (MIT). Please see License File for more information.