Better useAsTitle
property for Payload 3.0
screen-capture.webm
Install
pnpm add @payload-enchants/better-use-as-title
Add into your payload.config.ts:
import { betterUseAsTitle } from '@payload-enchants/better-use-as-title';
export default buildConfig({
plugins: [
betterUseAsTitle({
collections: [
{
slug: 'better-use-as-title-test',
useAsTitle: ({ data, req }) =>
`${data.firstName ?? ''} - ${data.secondName}, ${data.age} y.o`,
fieldOverride: {
name: 'customNameForCollection',
},
},
],
fieldOverride: {
name: 'customName',
},
}),
],
});
Note for data that already exist
You would need to write a custom script that updates all your docs like this
payload.update({
collection: 'posts',
where: {}
})