suilven/sluggable

Add a slug field to any DataObject

Installs: 412

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 1

Type:silverstripe-vendormodule

1.0.7 2020-09-29 19:01 UTC

This package is auto-updated.

Last update: 2020-12-29 19:55:09 UTC


README

Build Status Scrutinizer Code Quality Build Status CircleCI

codecov.io

Latest Stable Version Latest Unstable Version Total Downloads License Monthly Downloads Daily Downloads composer.lock

GitHub Code Size GitHub Repo Size GitHub Last Commit GitHub Activity GitHub Issues

codecov.io

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.