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.