directus-operation-unique-slugify
v1.0.4
Published
Ensure uniqueness of slugs in Directus with workflows
Downloads
1
Maintainers
Readme
Directus Operation Extension: Unique Slugify
This Directus operation extension ensures that the slug
(another field can be selected) field of a collection is unique by generating a slug based on the title
(another field can be selected) field. If the generated slug already exists, it appends a numeric suffix to make it unique.
Features
- Generates a slug from the title field.
- Ensures the slug is unique by appending a numeric suffix.
- Uses
date_updated
anddate_created
to determine the most recent slug for uniqueness.
Installation
Package Installation:
- Install the package using the choice of your package manager (please use the package manager that Directus uses in your Directus folder)
npm i directus-operation-unique-slugify
pnpm install directus-operation-unique-slugify
yarn add directus-operation-unique-slugify
- For docker version of Directus please use below:
pnpm install directus-operation-unique-slugify
- Install the package using the choice of your package manager (please use the package manager that Directus uses in your Directus folder)
Restart Directus:
- Restart your Directus instance to load the new operation extension.
Configuration
Navigate to Flows:
- Go to the Directus Admin interface and navigate to
Settings > Flows
.
- Go to the Directus Admin interface and navigate to
Create a New Flow:
- Click on
Create Flow
. - Add a trigger that fits your requirement, such as
Create
orUpdate
event on your target collection.
- Click on
Add the Operation:
- Add a new operation to the flow.
- Select
Unique Slugify
from the list of available operations. - Configure the options:
- Field to be used for slugging
- Field that slug should be assigned
- Define a character to be used space replacement
Save and Activate:
- Save the flow and ensure it is activated.
Example Configuration
If your base field name is title
, your slug field is slug
, and the space replacement separator you want to use is -
, configure the options as follows:
- Field to be used for slugging:
title
- Field that slug should be assigned:
slug
- Define a character to be used space replacement:
-