1.0.0 • Published 2 years ago
directus-operation-unique-slugify v1.0.0
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_updatedanddate_createdto 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-slugifypnpm install directus-operation-unique-slugifyyarn 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
CreateorUpdateevent on your target collection.
- Click on
Add the Operation:
- Add a new operation to the flow.
- Select
Unique Slugifyfrom 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:
-