module.exports = {
async beforeCreate(event) {
// Generate slug using the 'plugin::content-manager.uid' service
const slug = await strapi.service('plugin::content-manager.uid').generateUIDField({
contentTypeUID: 'api::product.product'// Replace 'product' with your collection name,
field: 'slug', // Replace 'slug' with the desired field name
data: event.params.data
});
// Assign the generated slug to the 'slug' field
event.params.data.slug = slug;
// Assign the generated slug to the 'slug2' field (if needed)
event.params.data.slug2 = slug;
}
};
3条答案
按热度按时间35g0bw711#
通过阅读本文,您似乎正在尝试向模型中添加生命周期事件。您需要对文章进行以下修改,使其适用于v4。
在通过管理 Jmeter 板创建文章模型之后,而不是添加以下文件:
添加:
其中包括:
此外,API端点在v4中发生了变化,因此您需要用途:
zbdgwd5y2#
这个好像对我有用
Settings > Roles > Public > Slugify(checkbox findSlug)config/plugins.js
图形
7bsow1i63#
在Strapi项目中,可以在api/collection-name/content-type/collection-name文件夹中创建lifecycles.js文件。在此文件中,您可以定义要为指定内容类型执行的生命周期方法。
说明:
注意:请确保文件名为lifecycles.js,并放置在上述正确的文件夹结构中。
您可以根据自己的具体要求(如字段名和集合名)随意调整代码。