When they load a template page into their editor, insert the sidebar template so that it appears normally in the page, instead of as a little placeholder symbol. When they save it back to Zope, convert the sidebar back into a reference. It is similar to TAL , in that it consists of tag attributes in an XML namespace. You can create libraries of macros, with all of the advantages of code reuse, yet still see everything in a page when you edit it. Macros can only be changed by editing the definition.
Slots are tags within a macro that can be replaced when the macro is inserted.
Now the html tag and all of its contents other than the body tag will be replaced with the macro body. To see what this looks like, check out the Examples . This doesn't work. I have fixed the example. There isn't any good documentation written yet on the equivalent of dtml-in in TAL, although one of the examples in PageTemplates 1.2 should be informative.