Changeable Side Bar
For multiple different SideBars in your wiki, compared to EditableSideBar, you need to provide the name of the SideBar page before the page is inserted. This needs a second pass for the TemplateInsert process.
(1) wiki.cfg
The wiki.cfg file must contain at least:
- TemplateInsertPassList=PreInsert;Insert
The placement in wiki.cfg is a must because it is sensible information that is protected from change.
The TemplateFile needs to contain (this also gives a proper default of "SideBar" if the variable SideBarName is empty):
- {Insert:page.{PreInsert:SideBarName;SideBar}}
(3) Configuration in Context pages
Any Context can now redefine:
- SideBarName=SecondSideBar
and have the Branch show a specific SideBar.
Notes
There was no special programming necessary to support this, it is just a clever combination of primitive operations: insert a variable name, insert a page, define and redefine variables.
All names are arbitrary but it is a good idea to stick with these suggestions.
If you need post-procession of script output to the template use a third PostInsert pass.
Define passes only if you need them because they add an - although small - overhead to wiki page rendering.
FolderWikiFeatures FolderLayout
|