version=pmwiki-2.2.48 ordered=1 urlencoded=1 author=Petko charset=UTF-8 csum=title GroupHeaders and GroupFooters name=PmWiki.GroupHeaders rev=72 targets=PmWiki.WikiGroup,PmWiki.WikiStyles,PmWiki.PageDirectives,PmWiki.WikiAdministrator,PmWiki.IncludeOtherPages,PmWiki.LayoutVariables,Cookbook.AllGroupHeader,Cookbook.WikiFooter text=(:Summary: Group Header and Group Footer page usage:)(:title GroupHeaders and GroupFooters:)%0a(:Audience: authors (intermediate) :)%0aEvery [[WikiGroup]] can have `GroupHeader and `GroupFooter pages that contain markup that should be included at the beginning or end of each page within the group. This feature is useful for:%0a%0a* adding a disclaimer or heading to all of the pages of a group%0a* defining custom [[WikiStyles]] that may be used for all pages in a group%0a* replacing the default headers and/or footers for pages in a group (e.g., using [@(:noheader:)@] and or [@(:nofooter:)@] -- see [[PageDirectives]]).%0a%0aTo create a group header, just create a new page called [@YourGroup.GroupHeader@]. Group headers allow authors to create groups with custom headers and footers without having to coordinate with a [[wiki administrator]]. %0a%0aThe default `GroupHeader or `GroupFooter can be suppressed on an individual page (such as a group's `HomePage) by using the [@(:nogroupheader:)@] and [@(:nogroupfooter:)@] markups ''on that page''.%0a%0aIf a generic `GroupHeader is used in one wikigroup (say, the Site wikigroup), then the code can be easily duplicated in the `GroupHeader of any other group by using %0a[@(:include Site.GroupHeader:)@]. See [[IncludeOtherPages]].%0a%0aIf you want a header or footer to appear when you print a page (action '''print'''), simply create a page called [@YourGroup.GroupPrintHeader@] or [@YourGroup.GroupPrintFooter@] and fill it with your markup.%0a%0aYou can also set the variable [[LayoutVariables#GroupPrintHeaderFmt | [@$GroupPrintHeaderFmt@]]] and [[LayoutVariables#GroupPrintFooterFmt | [@$GroupPrintFooterFmt@]]] in the same way as [@$GroupHeaderFmt@] and [@GroupFooterFmt@] in order to change the header used when [@action=print@]. %0a%0aSee also%0a* [[Cookbook:All group header]] [- {Cookbook/AllGroupHeader$:Summary} -]%0a* [[Cookbook:Wiki footer]] [- {Cookbook/Wikifooter$:Summary} -]%0a%0a%0a>>faq%3c%3c [[#faq]]%0a%0aQ: How do I set the same header or footer for all pages/groups?%0aA: The header and footer for each page are controlled by the variables $GroupHeaderFmt and $GroupFooterFmt. If your site-wide header and footer pages are Site.SiteHeader and Site.SiteFooter, you can add this in config.php:%0a%0a->[@%0a### If you use Site.SiteHeader and Group.GroupHeader%0a$GroupHeaderFmt = '(:include {$SiteGroup}.SiteHeader'%0a . ' basepage={*$FullName}:)(:nl:)' . $GroupHeaderFmt;%0a%0a### If you use Site.SiteHeader instead of Group.GroupHeader%0a$GroupHeaderFmt = '(:include {$SiteGroup}.SiteHeader'%0a . ' basepage={*$FullName}:)(:nl:)';%0a%0a### If you use Site.SiteFooter and Group.GroupFooter%0a$GroupFooterFmt .= '(:nl:)(:include {$SiteGroup}.SiteFooter'%0a . ' basepage={*$FullName}:)';%0a%0a### If you use Site.SiteFooter instead of Group.GroupFooter%0a$GroupFooterFmt = '(:nl:)(:include {$SiteGroup}.SiteFooter'%0a . ' basepage={*$FullName}:)';%0a@]%0a%0aNote that single quotes must be used in the lines above.%0a%0aSee also the Cookbook:AllGroupHeader recipe.%0a%0aA: Instead of using an additional page, you could set any wiki text in $GroupHeaderFmt, for example:%0a%0a->[@$GroupHeaderFmt .= "Global message here.";@]%0a time=1361895313 title=GroupHeaders and GroupFooters