GroupTitle
Questions answered by this recipe
- How can I define a title for an entire wikigroup?
Description
This recipe adds {$GroupTitle} and {$GroupTitlespaced} page variables. The group title is taken as the first title (for instance (:title My Group Title:)) found in GroupAttributes, GroupHeader, GroupFooter, Group.Group (i.e. $Group.$Group), or Group.HomePage (i.e. $Group.). If none of these pages have titles, then the name of the group is used (spaced according to $DefaultName$GroupTitlespaced or ).
$SpaceWikiWords
Notes
From version 2.3.11 PmWiki has the following page variables derived from the group's homepage built in:
{$GroupHomePage}- full name of the homepage = "Cookbook.Cookbook"{$GroupHomePageName}- its{$Name}= "Cookbook"{$GroupHomePageTitle}- the{$Title}= "Cookbook"{$GroupHomePageTitlespaced}- the{$Titlespaced}= "Cookbook"
but not
{$GroupHomePageNamespaced}- its{$Namespaced}= ""- Although you can do
{{$GroupHomePage}$Namespaced}= "Cookbook"
- Although you can do
Download grouptitle.phpΔ into the cookbook/ directory, and then add the following to a local customization file:
include_once("$FarmD/cookbook/grouptitle.php");
The $GroupTitlePathFmt variable can be modified to search a different set of pages for a group title.
# use only GroupAttributes for a group title
$GroupTitlePathFmt = '$Group.GroupAttributes';
# use only GroupHeader and GroupFooter for a group title
$GroupTitlePathFmt = array('$Group.GroupHeader', '$Group.GroupFooter');
To display the GroupTitle instead of the usual Group name in a page's titlebar, you will most likely need to modify the skin's template file, so that the name in the normal link at the page head for the Group is replaced by $GroupTitle or $GroupTitlespaced. I.e. in the skin tmpl file change $Group or $Groupspaced to $GroupTitle or $GroupTitlespaced, but only for the name of the group between the <a ...> </a> tags of the link to the group (in the titlebar or header section). Do NOT replace EVERY occurrence of $Group or $Groupspaced with $GroupTitle or $GroupTitlespaced. If you cannot understand the code, seek online help or contact the skin author.
Some skins have built-in support for GroupTitle, and will show it when it is defined with a (:title ...:) directive as outlined above. But you would still need to install this recipe script.
Skins with built-in GroupTitle support: Gemini, FixFlow, Triad.
See Also
Change log / Release notes
- 20220219 Update for PHP 8.
Contributors
Comments
See discussion and sandbox at GroupTitle-Talk
User notes : If you use, used or reviewed this recipe, you can add your name. These statistics appear in the Cookbook listings and will help newcomers browsing through the wiki.