πŸ‘€ Our most exciting product launch yet πŸš€ Join us May 8th for Sanity Connect

Initial Value Template Warning - "Template 'article-by-product' not defined, using empty initial value"

4 replies
Last updated: Jun 25, 2021
Hi! I'm trying to use a initial value template in a structure like this example . But the value is not set, and in the browser console there is a warning "Template 'article-by-product' not defined, using empty initial value".What am I doing wrong ?
Jun 25, 2021, 10:15 AM
Here is the code in the deskStructure.js file:
S.documentTypeList('product')
            .title('Product')
            .child(productId =>
              S.list()
                .title('Content')
                .items([
                  S.listItem({
                    id: 'articles-by-product',
                    title: 'All articles',
                    child: () => 
                      S.documentTypeList('docArticle')
                        .title('All articles')
                        .filter('_type == "docArticle" && references($productId)')
                        .params({ productId })
                        .initialValueTemplates([
                          S.initialValueTemplateItem('article-by-product', { productId })
                        ])
                  }),
The initialValueTemplates.js file:

import T from '@sanity/base/initial-value-template-builder';

export default [
    ...T.defaults(),
    
    T.template({
        id: 'article-by-product',
        title: 'Documentation Article',
        description: 'Article for a specific product',
        schemaType: 'docArticle',
        parameters: [{name: 'productId', type: 'string'}],
        value: params => ({
          product: {_type: 'reference', _ref: params.productId}
        })
      })
  ]
And the sanity.json file:

"parts": [
    {
      "name": "part:@sanity/base/schema",
      "path": "./schemas/schema"
    },
    {
      "name": "part:@sanity/desk-tool/structure",
      "path": "./deskStructure.js"
    },
    {
      "name": "part:@sanity/base/initial-value-templates",
      "path": "./initialValueTemplates.js"
    }
  ]
Jun 25, 2021, 10:15 AM
did you restart the server after editing sanity.json?
Jun 25, 2021, 10:24 AM
Initial values will not be set on fields in existing documents. Have you tried creating a new document to see if fields are populated?
Jun 25, 2021, 10:48 AM
user B
newbie's fail, the restart did the job, thanks!
Jun 25, 2021, 12:00 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.

Was this answer helpful?