-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Page Description
This request is for a single template that will be used to render 2 page paths:
/archive-research-study-center
from this craft cms data
/instructional-media-collections-services
from this craft cms data
Design
Please also see attached screenshots for quick reference.
If no mobile designs provided, please use your best judgment for responsiveness.
GraphQL
query FTVAARSCIMCS($section: [String!]) {
entry(section: $section) {
id
typeHandle
sectionHandle
title: titleGeneral
summary
displaySummary
ftvaAlternativeTitle
ftvaHomepageDescription
imageCarousel {
... on imageCarousel_imageCarousel_BlockType {
image {
...Image
}
creditText
}
}
ftvaImage {
...Image
}
...AllFtvaFpb
}
}
Developer Tips
List any developer tips here
-
You will need to create a graphQL query that looks at the current route to query the data
- assuming the fields on both types are 100% the same, you should only need 1 graphQL query. If there are differences, create 2 different .gql queries
-
Layout / Multi-Page Setup: To prevent code duplication there should only be 1 file with the page layout code for both of these pages. You can either place the page in 1 directory and use an alias to cover the other path like so:
definePageMeta({
layout: 'default',
path: '/archive-research-study-center',
alias: ['/instructional-media-collections-services/']
})
OR you can try implementing a layout, (this option becomes more useful if we need a different GQL querie for each page):
<script setup lang="ts">
definePageMeta({
layout: false,
})
</script>
<template>
<div>
<NuxtLayout name="custom">
<template #header> Some header template content. </template>
The rest of the page
</NuxtLayout>
</div>
</template>
Child components
List out any components that are used by this new Page.
FlexibleMediaGalleryNewLightbox.vue
ResponsiveImage.vue
FlexibleBlocks.vue
used for the rest of the content on the pageSectionWrapper.vue
if needed for page layout spacing.
Screenshots


