Dynamic Source Metafields for single_line_text_field Not Listed in richtext But Shown in inline_richtext

I have created a single_line_text_field metafield definition on products:

{
 "data": {
  "metafieldDefinition": {
   "access": {
    "admin": "PUBLIC_READ_WRITE",
    "storefront": "PUBLIC_READ"
   },
   ...
   "ownerType": "PRODUCT",
   "type": {
    "category": "TEXT",
    "name": "single_line_text_field"
   },
   "validations": []
  }
 }

I see this listed as a dynamic source in inline_richtext but not in richtext. Specifically looking at the Sleek theme’s Collapsible row block in the Product template but I have seen this in other themes too while in the product template. It appears to be due to inline_richtext vs richtext. These are both supposed to support single_line_text_field but I’m just not seeing anything appear in the latter input.

Are others seeing this? I know “product context” must be set. I assume that it is because doing editing under product template.

I created a metafield definition for a rich_text_field and assigned to a few products and that does not show up either!

Found problem: when block’s settings are shown it does not default to product template’s metafields even though current template is the product template. You have to go back to metafield source list and select Product → Template.

Hey @J_J :waving_hand: thanks for reaching out and for bringing this to our attention.

For clarity for anyone else coming across this thread, this isn’t a richtext vs inline_richtext compatibility issue. Both accept single_line_text_field as a dynamic source. The full matrix is shown in our docs here:

Hidden

As you noticed, it looks like the cause is a theme-editor quirk specific to the richtext dynamic source list: it doesn’t default to the list of product metafields when you’re editing a block inside the product template, even though the inline_richtext source list does. This is what made it look like a compatibility issue. As you mentioned, if you back out and pick Template > Product the single_line_text_field metafields appear as expected. This isn’t the most intuitive, so I’m going to make sure this is flagged.

EDIT: I did some more digging here and it appears I was mistaken about this, so I’ve hidden part of my original message. The reason the list of product metafields appear “hidden” on the Collapsible tab block’s Collapsible tab content richtext field is detailed in Sleek’s Collapsible tabs docs.

The Collapsible tab block in the product template of the theme can pull content from two places - the current product and the page selected in the Tab content from page feature detailed in Sleek’s docs. So, when you open the dynamic source list, the Tab content from page options appear first. Your product metafields are there as an option (as you noticed), you just have to go back and then select Template > Product to see them as options.

The other fields don’t have a Tab content from the page feature, so their dynamic source lists only show Product metafields as options - that’s why it felt like the richtext field was missing something by comparison. This is part of the theme’s design.

I hope this helps clear things up!