@anastasiia_berest/slug
v1.0.0
Published
Auto Generated rewritable Slug field (same for different locales). Default value format: post-${year}-${month}-${day}-${hours}-${minutes}-${seconds}
Downloads
3
Maintainers
Readme
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.
Instalation
Install the plugin in your Strapi project.
- npm i slug | npm
- npm run build > npm run develop
- go to admin > Content Type Builder > choose content type > click to button Add another field (to this collection type) > select tab CUSTOM > click on slug plugin tile > add name to field label > click on button finish > click on button save.
- go to tab Advanced settings and check it off Enable localization for this field to FALSE (if it is TRUE/checked plugin generate unique value for every entry for all locales)
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.
- autocomplete autofill uniq default value by title, entry id, current datetime and/or key word
- same slug value to all locales
- rewritable data
- pattern by placeholder
Screenshots
Demo
Цель
Нужно автозаполняемое поле slug, сохраняющее одно и то же значение для всех локалей. Текущие настройки UID не позволяют сохранять одно и тоже значение для разных языков.
Созданный плагин отображает поле CustomField Slug, которое:
- автозаполненное со сгенерированными по паттерну значениями
- редактируемое (вводимые значения с клавиатуры на уникальность не проверяются)
- сохраняет одно и то же значение для всех локалей - автогенерируемые значения уникальны
- автоподставляет значение из паттерна или если нажать переключатель - данные из поля title, если они присутствуют
Доступны следующие паттерны для генерации автозаполнения:
- kw (key word - ключевое слово)
- kw + title
- kw + id
- kw + datetime
- title
- id
- datetime
По умолчанию, стоит 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.
Похожие плагины:
Доработки:
- убрать иконку и тайтл в админке в сайдбаре [ui]
- расположить в ряд поля с настройками плагина (Kw + Pattern) [ui]
- сделать проверку на уникальность/совпадения вводимых значений с клавиатуры [feature]