Issue with document title not appearing in preview
15 replies
Last updated: Jul 12, 2021
G
Hello - I added a schema type for 'content' and whenever I 'create new' it shows up as 'untitled' and there seems no way to change the name- any idea what I'm doing wrong?
Jul 12, 2021, 5:53 AM
(from a structured content point of view, I think that “content” is too generic for a document type, but that’s beside the point.)
Jul 12, 2021, 7:04 AM
Sanity tries to pick the most suitable field as a title. If it can’t find any, you need to manually specify the field.
Jul 12, 2021, 7:05 AM
G
export default { name: 'content', title: 'Content', type: 'document', icon, fields: [ { name: 'title', title: 'Title', type: 'string', }, { name: 'slug', title: 'Slug', type: 'slug', options: { source: 'title', maxLength: 100, }, }, { name: 'metaTitle', title: 'Meta Title', type: 'string', }, { name: 'metaDesc', title: 'Meta Description', type: 'string', }, { name: 'content', title: 'Content', type: 'blockContent', }, { name: 'dateCreated', title: 'Date Created', type: 'datetime', initialValue: (new Date()).toISOString(), }, { name: 'image', title: 'Main/social Image', type: 'image', options: { hotspot: true, }, }, { name: 'skills', title: 'Skills', type: 'array', of: [{type: 'reference', to: {type: 'skill'}}], options: { layout: 'tags' } }, { name: 'grades', title: 'Grades', type: 'array', of: [{type: 'reference', to: {type: 'grade'}}], options: { layout: 'tags' } }, { name: 'contentType', title: 'Content Type', type: 'array', of: [{type: 'string'}], options: { list: [ {title: 'skill', value: 'skill'}, {title: 'game', value: 'game'}, ] } }, ],
Jul 12, 2021, 3:55 PM
G
Interesting. The studio should definitely snag the value of
titleand use it in your preview (i.e., as the title of the document in the list). Are you setting a preview later in your schema or is there anything else in your schema that you didn’t paste here? I was able to get your code working with just a few changes (renaming the document name, removing icon, and setting the reference types to document types I already have in my schema).
Jul 12, 2021, 7:36 PM
G
I have a preview..
Jul 12, 2021, 7:37 PM
G
Interesting. The studio should definitely snag the value of
titleand use it in your preview (i.e., as the title of the document in the list). Are you setting a preview later in your schema or is there anything else in your schema that you didn’t paste here? I was able to get your code working with just a few changes (renaming the document name, removing icon, and setting the reference types to document types I already have in my schema).
Jul 12, 2021, 7:36 PM
G
the preview doesn't work in the ui, not sure where I went wrong... could that be causing the untitled?
Jul 12, 2021, 7:38 PM
G
preview: { select: { title: 'title', content: 'content', date: 'dateCreated', main: 'image', grades: 'grades', skills: 'skills', }, prepare(selection) { const gradesStr = selection.grades.filter(Boolean).join(', ') const skillsStr = selection.skills.filter(Boolean).join(', ') return { title: `${selection.title} ${year ? `(${year})` : ''}`, content: selection.content, date: selection.date, skills: selection.skills, skillsStr: skillsStr, grades: selection.grades, gradesStr: gradesStr, mainImage: selection.main, } }, },
Jul 12, 2021, 7:38 PM
G
(copied from the movie example... didn't edit that part yet, hence the year)
Jul 12, 2021, 7:39 PM
G
Do you have a link to that example? I don’t recall seeing a
In any case, I suspect it’s an error in your preview causing you to see Untitled (I’m guessing you see
Invalid preview config at the top of your document).
prepare()that returns more than a few properties (title, subtitle, description, media, and perhaps one or two I’m missing).
In any case, I suspect it’s an error in your preview causing you to see Untitled (I’m guessing you see
Invalid preview config at the top of your document).
Jul 12, 2021, 7:43 PM
G
yes
Jul 12, 2021, 7:43 PM
G
okay, I'll get the preview working and see if that works
Jul 12, 2021, 7:45 PM
G
ya, that did it
Jul 12, 2021, 7:49 PM
G
Great! If you face any issues getting the functionality you want in your preview, please follow up.
Jul 12, 2021, 7:50 PM
Sanity– build remarkable experiences at scale
Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.