You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have analyzed the 'setting-service.js' file. I developed a possible fix that is working for me (see below).
With that fix, to produce the slug for the fields in a component, you have to set the plugin settings file field contentTypes using the value of the collectionName field used in the component configuration file.
Strapi: 4.11.4
Strapi Plugin Slugify: 2.3.3
MySQL: 8.0.30 (MySQL Community Server - GPL)
Here is a possible fix to generate a slug for components by changing the build method:
build(settings){constbuildModel=(contentType,uid,nameAttr,displayName)=>{constmodel=settings.contentTypes[contentType[nameAttr]];if(!model){return;}// ensure provided fields are present on the modelconsthasField=isValidModelField(contentType,model.field);if(!hasField){strapi.log.warn(`[slugify] skipping ${contentType.info[displayName]} registration, invalid field provided.`);return;}letreferences=_.isArray(model.references) ? model.references : [model.references];consthasReferences=references.every((referenceField)=>isValidModelField(contentType,referenceField));if(!hasReferences){strapi.log.warn(`[slugify] skipping ${contentType.info[displayName]} registration, invalid reference field provided.`);return;}constdata={
uid,
...model,
contentType,
references,};settings.modelsByUID[uid]=data;settings.modelsByName[contentType[nameAttr]]=data;};// build modelssettings.modelsByUID={};settings.modelsByName={};_.each(strapi.contentTypes,(contentType,uid)=>buildModel(contentType,uid,'modelName','singularName'));_.each(strapi.components,(contentType,uid)=>buildModel(contentType,uid,'collectionName','displayName'));_.omit(settings,['contentTypes']);returnsettings;}
The text was updated successfully, but these errors were encountered:
pgsfredda
changed the title
No slug generated for components and for the 'relation' fields
No slug generated for components and for the 'relation' fields (a possible fix)
Jul 12, 2023
pgsfredda
changed the title
No slug generated for components and for the 'relation' fields (a possible fix)
No slug generated for components (a possible fix)
Jul 12, 2023
Thanks for the request and suggestion. For now this plugin only supports fields define don the model directly.
I will at some point add relational and component support. At the moment their is no eta for that.
I am thinking instead to change how the settings work. For reference fields it will allow for a string or object. In object mode you can specify the path and type (field,relation,component) that the reference field is.
Also requesting support for object reference. Example: We have categories like catcat2 and we would like to be able to auto generate cat/articlecat2/article2
Hi.
No slug is generated for
components
.I have analyzed the 'setting-service.js' file. I developed a possible fix that is working for me (see below).
With that fix, to produce the slug for the fields in a
component
, you have to set the plugin settings file fieldcontentTypes
using the value of thecollectionName
field used in the component configuration file.Strapi: 4.11.4
Strapi Plugin Slugify: 2.3.3
MySQL: 8.0.30 (MySQL Community Server - GPL)
Here is a possible fix to generate a slug for
components
by changing thebuild
method:The text was updated successfully, but these errors were encountered: