Easy way to mass update pages to be children of new master page?

  • 1
  • Question
  • Updated 3 years ago
  • Answered
Love the new master page feature. I followed the tutorial and created a slick new header. I'd like to apply that to a bunch of pages.... maybe even everything in a certain module? Any easy way to do that, or do I have to update every one of the pages manually, one-by-one>
Photo of Matt Sones

Matt Sones, Champion

  • 31,478 Points 20k badge 2x thumb

Posted 3 years ago

  • 1
Photo of Matt Sones

Matt Sones, Champion

  • 31,478 Points 20k badge 2x thumb
Wow, just read the last few lines on this.

Yep... it's even worse than I thought.
Photo of J.

J., Official Rep

  • 7,470 Points 5k badge 2x thumb
Yeah, we hear you, Matt. Hopefully it's a one-time maintenance task for folks upgrading to Banzai. We love the concept of some sort of "adopt page" functionality, but we haven't implemented anything at this point. The tricky bit is sorting all your components into the correct Page Region. If you've only got one in your Master Page, it's straightforward, but if you've got more than one, that's a bit of a different story. We'll certainly be considering it for a future release (not necessarily a MAJOR release), but for today, that tutorial is the way to get it done.
Photo of Matt Sones

Matt Sones, Champion

  • 31,478 Points 20k badge 2x thumb
Thanks, J. "Adopt page" would be awesome, but I can see how it would definitely be tricky.

Off to copy&paste XML! :)
Photo of Skuidward Tentacles (Raymond)

Skuidward Tentacles (Raymond), Champion

  • 17,224 Points 10k badge 2x thumb
I propose this work around with a "junction page" using a page include.

Example:

-Master page name: MasterHeader

-Existing stand along page name: ContactDetail

-Create a new child page named ContactDetailWithHeader that is a child of MasterHeader

-add a page include for ContactDetail in your new ContactDetailWithHeader Page and pass in any URL Parameters needed to the ContactDetail Page include.


There are some benefits to doing this over the standard master child page set up.

1) it is a quick, easy, codeless upgrade of old pages.

2) you will retain a headerless version of the stand alone pages for pop ups, drawers, and page includes

3) using page includes can help with rendering speeds.

4) once the initial set up is done, you don't have to ever edit the junction page. All edits are done to the master template and the stand alone page

5) Best for Master pages that have only one child page region


Drawbacks:

1) each of your pages will now be a two page pair and you would have to update page overrides and redirects to the new junction page (one-time switch)

2) you would need separate stand alone pages for each child page region on the master page which could get cumbersome if you are intermixing multiple master sections with multiple child sections.
(Edited)