|
Cookbook /
FarmSideBarSummary: Share a sidebar among several fields in a farm
Version:
Prerequisites: Requires at least PmWiki version: pmwiki2-beta??; last tested on PmWiki version: pmwiki2-beta53
Status:
Maintainer: Christian Ridderström chr
Categories: WikiFarms, Administration
QuestionI have a wiki site with several fields where I'd like a common appearance of the sidebar. How can I arrange this? In addition, I'd also like the common part of the sidebar to automatically indicate which field the reader is currently browsing. AnswerHere is one solution that assumes you keep the group
Site.SideBar
`-- Field.SideBar-field
`-- {$Group.SideBar-group}
where Site.SideBar - global sidebar, common to all fields A:Field.SideBar-field - part of sidebar specific to field A B:Field.SideBar-field - part of sidebar specific to field B A:GroupA.SideBar-group - part of sidebar specific to A:GroupA/ A:GroupB.SideBar-group - part of sidebar specific to A:GroupB/ A:GroupC.SideBar-group - part of sidebar specific to A:GroupC/ B:GroupD.SideBar-group - part of sidebar specific to B:GroupD/ B:GroupE.SideBar-group - part of sidebar specific to B:GroupE/ B:GroupF.SideBar-group - part of sidebar specific to B:GroupF/ In order to let the sidebar automatically indicate which field the reader is visiting, we can for instance let Site.SideBar contain something like this: ! Fields * %field-A%[[Field A -> A:Main/HomePage]]%% * %field-B%[[Field B -> B:Main/HomePage]]%% (:include Field.SideBar-field:) where we have assumed that the prefixes
%define=field-A color=red%
! Groups
* %group-A%[[GroupA/Group A]]%%
* %group-B%[[GroupB/Group B]]%%
* %group-C%[[GroupC/Group C]]%%
(:include {$Group}.SideBar-group:)
where along similar lines, a page such as GroupA.SideBar-group should contain something like: %define=field-A color=green% Notes and CommentsThe principle above should work with other naming schemes for the pages. If
you don't want the group specific part of the sidebar cluttering the
different groups, you could place those pages in the group Site.SideBar - common sidebar template A:Field.SideBar-field - part specific to field A A:Field.SideBar-group-GroupA - part specific for group A A:Field.SideBar-group-GroupB - part specific for group B A:Field.SideBar-group-GroupC - part specific for group C B:Field.SideBar-field - part specific to field B B:Field.SideBar-group-GroupD - part specific for group D B:Field.SideBar-group-GroupE - part specific for group E B:Field.SideBar-group-GroupF - part specific for group F where you should probably remember to qualify links in the group specific
pages, e.g. An even more centralized approach puts all the pages related to the sidebar
in the shared group See AlsoContributors
|