1 result
UniqueSlugs
UniqueSlugs
Unique slugs for collections in Cockpit CMS
Installation
Copy this repository into /addons
and name it UniqueSlugs
or
cd path/to/cockpit
git clone https://github.com/raffaelj/cockpit_UniqueSlugs.git addons/UniqueSlugs
How to use
Use the GUI. If you are no admin, your user group needs manage rights.
Or add these options to cockpit/config/config.yaml
to specify the collections and field names for slug generation:
# UniqueSlugs example
unique_slugs:
collections:
pages : title
products : name
# ACL example
groups:
manager:
cockpit:
backend: true
uniqueslugs:
manage: true
all options:
# unique slugs
unique_slugs:
slug_name : slug # default: "slug"
placeholder : page # default: "entry"
check_on_update: true # default: false, unique checks on each update (if user changes slug by hand)
delimiter : | # default: "|", is used for nested fields
collections :
pages : title
products : name
something : # use multiple fields as fallbacks
- title
- name
- image|meta|title # use nested fields for slugs
localize : # for localized fields, omitted if not set
pages : title # field name without suffix ("_de")
products : name
something : # use multiple fields as fallbacks
- title
- name
- image|meta|title # use nested fields for slugs
Notes:
Hardcoded settings in the config file will override gui settings.
Don't set slug_name: fieldname_slug
if you also set {"slug": true}
in the fieldname
options for some reason. It should work, but it fails on multilingual setups (explanation).
Your collection can have a visible field named "slug", if you want to edit it by hand.
The builtin option to sluggify text fields via options {"slug": true}
in the
backend uses Javascript. If you want unique slugs, that option is not necessary anymore.
The code for this addon is inspired by a gist from fabianmu.