Block setting set in Editor not showing in block.settings in front end
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 11.9k
- Forks
- 1.5k
- Avg merge
- 17h 55m
- Merged PRs (30d)
- 3
Description
I have block schema that holds some checkboxes, images, and text fields that is being validated and updated correctly to the theme, but when I set the image through the editor and output the JSON values of the block.settings there are 3 images that do not show as set in the block.settings object even know they are in the editor.
Here is the schema which gets validated by the theme-check and synced to the theme. I've also verified the JSON through a third party validator.
"type": "finance",
"name": "Finance",
"settings": [
{
"type": "checkbox",
"id": "enable_affirm",
"label": "Enable Affirm",
"default": true
},
{
"type": "checkbox",
"id": "enable_sezzle",
"label": "Enable Sezzle"
},
{
"type": "checkbox",
"id": "enable_splitit",
"label": "Enable Splitit"
},
{
"type": "checkbox",
"id": "enable_katapult",
"label": "Enable Katapult"
},
{
"type": "checkbox",
"id": "enable_paypal",
"label": "Enable Paypal Credit"
},
{
"type": "header",
"content": "Images"
},
{
"type": "image_picker",
"id": "affirm_image",
"label": "Affirm"
},
{
"type": "image_picker",
"id": "sezzle_image",
"label": "Sezzle"
},
{
"type": "image_picker",
"id": "split_image",
"label": "Splitit"
},
{
"type": "image_picker",
"id": "kat_image",
"label": "Katapult"
},
{
"type": "header",
"content": "text"
},
{
"type": "text",
"id": "affirm_text",
"label": "Affirm Text",
"default": "Monthly payments as low as 0% APR financing."
},
{
"type": "text",
"id": "sezzle_text",
"label": "Sezzle Text",
"default": "Monthly payments as low as 0% APR financing."
},
{
"type": "text",
"id": "splitit_text",
"label": "Splitit Text",
"default": "Monthly payments using your credit card at 0% interest"
},
{
"type": "text",
"id": "katapult_text",
"label": "Katapult Text",
"default": "Lease to own, $45 down monthly payments, no credit required."
},
{
"type": "text",
"id": "paypal_text",
"label": "Paypal Credit Text",
"default": "No Interest if paid in full in 6 months."
}
]
}
Here is a screen shot of the images set in the editor.

And here is the outputted object of {{ block.settings | json }}. See that it is missing the values for split_image and kat_image. I've formatted it for ease of reading.
{
"enable_affirm":true,
"enable_sezzle":true,
"enable_splitit":true,
"enable_katapult":true,
"enable_paypal":false,
"affirm_image":"\/\/cdn.shopify.com\/s\/files\/1\/1164\/4236\/files\/black_logo-transparent_bg.webp?v=1652120486",
"sezzle_image":"\/\/cdn.shopify.com\/s\/files\/1\/1164\/4236\/files\/Color-Logo.png?v=1652128482",
"affirm_text":"Monthly payments as low as 0% APR financing.",
"sezzle_text":"Monthly payments as low as 0% APR financing.",
"splitit_text":"Monthly payments using your credit card at 0% interest",
"katapult_text":"Lease to own, $45 down monthly payments, no credit required.",
"paypal_text":"No Interest if paid in full in 6 months."
}
I have set both of the image_picker to different ids. Removed the two image_picker types that are being set correctly to see if something is wrong there but it would not show the values.
Is there a max value of types you can have in a block?
I have this block on two separate pages and they both have this issue.
Any insight as to what is going on?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reported block schema and the {{ block.settings | json }} output, focusing on the three image_picker settings that are absent. Compare the editor's saved values with the rendered object and establish a minimal reproduction showing whether the omission is in Liquid or the external theme editor; done means identifying a reproducible cause or confirming the issue is outside Liquid.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- web-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100