Nesting Collection Types (with dynamic zones) for Multi-site use

System Information
  • Strapi Version: 3.4.6
  • Operating System: Debian
  • Database: postgres
  • Node Version: 14.15.4
  • NPM Version: 6
  • Yarn Version:

This is a question about how to organize strapi for multi-site API use. Possible?

With the help of this great article:
https://strapi.io/blog/creating-strapi-dynamic-zone-in-nuxtjs-app I was able to create a “Pages” collection like this:

Pages
    Home
    	Title
    	Description
    	__dynamic zone__
        Slider
            Slide 1
            Slide 2
            Slide 2
        Banners
        	Banner 1
        	Banner 2
        Products
        	Prod 1
        	Prod 2
	About
		Title
		Description		
		__dyanmic zone__
		Image
		richText
		Products
			Prod 1
			Prod 2		

…and that is really fantastic. Though I am wondering if it’s possible to go one step further and nest that structure under a “parent” collection type, “Sites”. like:

Sites
	Awesome Site 1
		Pages
			Home
				__dyanmic zone__
			About
				__dyanmic zone__
	Awesome Site 2
		Pages
			Home
				__dyanmic zone__
			About
				__dyanmic zone__

I know I can already create a “Sites” collection type and do a one-to-many relationship with “Pages”. But within “Pages” (where the actual content admin takes place) there’d still be a really long list of pages that belong to different sites, which could become unwieldy over time.

Just trying to think of how I can organize strapi for multi-site use without having to do separate installations.


2 Likes