Content Delivery API > Structured text fields

Structured text fields

If you have Structured Text fields you can use GraphQL fragments to fetch the different blocks.

Suppose a blog_post model has a Structured Text field called content, which in turn accepts links to other blog posts and the following embedded blocks:

  • Block blog_post_cta_block: made of a label and url field (both single-line text)

  • Block blog_post_gallery_block: made of a gallery field (image gallery)

This GraphQL query will do the work:

query {
allBlogPosts {
title
content {
value
blocks {
__typename
... on RecordInterface {
id
}
... on BlogPostCtaBlockRecord {
label
url
}
... on BlogPostGalleryBlock {
gallery { url }
}
}
links {
__typename
... on RecordInterface {
id
}
... on BlogPostRecord {
slug
title
}
}
}
}
}

Rendering Structured Text content

You can then use the result of this query with one of the following libraries and components to render the field into your frontend of choice:

Filtering records by contained blocks

If you need to filter records based on the content within their embedded blocks, please refer to the Deep filtering section of this guide, where this scenario is explained in detail.