anastasiiaxfr / strapi-plugin-field-slug

Autogeneratable Slug field plugin for Strapi CMS
https://www.npmjs.com/package/custom-slug
8 stars 9 forks source link
slug strapi strapi-cms strapi-plugin

Strapi plugin: slug


This plugin adds a Slug field to Strapi. Slug has autocomplete default generated value in format: post-year-month-day-hours-minutes-seconds, same for all locales.

Also we can add KeyWord and/or pattern, which will be used to generate slug.

There are next patterns:

Id generated automatically after clicking on button Save. If you don't choose any KeyWord or Pattern it's autofill field with datetime placeholder.

Instalation

Install the plugin in your Strapi project.

content-type-builder

Description

This is Slug Custom Field plugin which generate automatically rewritable values on entity creation, like: post-year-month-day-hours-minutes-seconds and saves the same value for all locales in slug.

Screenshots

demo1 demo2 demo4 demo5 demo3

Demo

watch


Цель

Нужно автозаполняемое поле slug, сохраняющее одно и то же значение для всех локалей. Текущие настройки UID не позволяют сохранять одно и тоже значение для разных языков.

Созданный плагин отображает поле CustomField Slug, которое:

Доступны следующие паттерны для генерации автозаполнения:

По умолчанию, стоит datetime в формате: год-месяц-число-час-минуты-секунды. Если не указывать kw, то будут значения из паттернов title, id, datetime или же, если не выбрано ни kw ни pattern, будет значение "datetime". Поле по паттерну id автозаполняется после нажатия кнопки Сохранить в соответствующей коллекции Entry, это связано с спецификой Strapi, он присваивает значение ID, только после сохранения поста. Если включить чекбокс Enable localization, все значения будут уникальны и перегенерированны заново для каждой локали.

Slugify/URLize/генерация наименования ссылок:

Нашла, но не очень поняла, как Strapi конвертирует вводимые значения на кириллице в латиницу и убирает спец. символы. Например, тут отправляет запрос на /content-manager/uid/generate и получает ключ data с конвертированным значением. Не поняла, как достучаться до этого поля, чтоб были нужные значения, потому на Chat GPT сделала конвертер cyr-to-lat.

Похожие плагины:

Доработки: