Hey @jprzpam,
Welcome to the Prismic community, and thanks for posting this question! I'm going to try to answer one thing at a time.
Content Modeling
If you basically want to create a "tag" or category" field, you can see some information on how to do that with Content Relationships, here:
The main benefit of doing it with a Content Relationship is that you can have a document for each level and grade, so you can add content and metadata, like a title, description, image, etc. However, I don't see any problem with doing that with a multi-select.
Fetching
To fetch the homepage Slices plus all of the Course documents, you might use a GraphQuery like this:
query{
allHomepages {
pageInfo {
startCursor
endCursor
}
edges {
node {
body {
... on HomepageBanner {
primary {
image
text
}
}
... on HomepageEmbed {
primary {
embed
}
}
}
}
}
}
allArticles {
edges {
node {
title
meta_description
}
}
}
}
You can also do this with the Rest API. Here's some info on how to perform multiple queries with useGetStaticProps
:
Courses Slice
Your solution for the Courses Slice actually sounds okay to me! But let me know if it's creating any problems.
Let me know if this helps, or if I missed any of your questions.
Sam