Ability to template areas of the main content

I’m hoping you will consider adding some way to be able to have templates within templates such that when a user “edits a page” using Bricks builder, they are limited to a “main area” of the overall page, rather than the entire page between header and footer.

Currently, when we edit a page, it handles the entire page between the header and footer templates. What I’m asking is that this main area could, itself, also be a template. And then when the user edits in Bricks, they are only editing a certain area of that inner template.

A primary use-case of this would be when a certain kind of page template requires inner content like columns (a sidebar) or special upper and lower content areas, perhaps for ads or something.
When the editor adds a new page, I don’t want them being able to mess with the structure of the “surrounding” page (sidebar, top content, etc). Instead, whatever they edit in Bricks would be put in a certain area of that inner template only.

This kind of things can be done for a blog or when the user edits content from Gutenberg, because then I can make the Bricks template dynamically output the Gutenberg content where I want it to go. But this can’t be done for a page or custom post type where Bricks is used for the content, because it automatically applies to the entire page between header and footer.

If this is possible to do, I haven’t been able to reason how to go about it.

In Oxygen builder we could do this because they had the concept of templates being children of other templates (templates within templates), and they use an “inner content” element to place where the user content goes. Bricks doesn’t do this because it doesn’t have “templates within templates”. Just headers and footers and main area. I want to have header and footer and “main area template” followed by “Bricks user content” which is output somewhere in the main area template. This way, when the user edits the page, they can’t accidentally screw up something like columns or sidebar structures that need to be on the page.

Further, whenever an editor wants to add a new page, they are required to clone a previous one (to get that inner content structure, sidebar) or add it as a saved element or saved template so that they put the new content where it’s supposed to go. This isn’t a procedure I want them to have to do every time they add a new page. I just want to make “page that has a sidebar” a standardized template, where the Bricks content goes within part of that template.

Another way to handle this would be if we can set entire page content as a starting point or “required content” for a new page, following by locking certain elements from being editable. How this would work is that the user clicks to create a new page and then clicks to edit in Bricks. Bricks would detect that it is a new page of type XYZ and insert required content (columns, sidebar). Then only the main content column would be “unlocked” for adding the new content and the rest of the elements would be locked.
This is sort of convoluted, but it means we could potentially unlock those elements on specific pages for special situations if needed. Or once dynamic global elements are working, we could have “required content” such as a hero/header where the user only edits the background image and text, but the overall structure is a template or requirement of that page type.

Regardless how it’s done, it would be very good if we had more control over all parts of the page that are “template” and be more specific what parts are the Bricks content the end user can edit. And make it easy for them to add new pages without having to think about adding all those structures required for that kind of page.

1 Like