Item14360: Add VarPARENTTOPIC
Priority: Enhancement
Current State: Waiting for Release
Released In: 2.2.0
Target Release: minor
Please add the
extremely useful PARENTTOPIC
variable.
See
TWiki for details.
PARENTTOPIC -- parent of current topic
- Syntax:
%PARENTTOPIC%
or %PARENTTOPIC{ format="..." topic="..." }%
- Expands to:
%PARENTTOPIC%
, renders as %PARENTTOPIC%
- Parameters:
Item | Description | Default |
format="..." | Format string used to display parent topic, where $web expands to the web name, and $topic expands to the topic name. Additional formatting tokens can be used. | "$topic" (topic name) |
topic="..." | Get parent of "Topic" or "Web.Topic" | "%WEB%.%TOPIC%" (current topic) |
--
VickiBrown - 29 Mar 2017
Seems reasonable. I'll mark this as confirmed as an enhancement. Note that this is just a shorthand for using the =%META{"parent"}% macro.
%META{"parent" topic="Sandbox.TestParentMacro" format="$web.$topic" depth="1"}%
returns
IPv6Link
--
GeorgeClark - 29 Mar 2017
META is deprecated. Here's another way:
%QUERY{"'Sandbox.TestParentMacro'/parent.name"}%
returns
This simplifies down to
%QUERY{"parent.name"}%
to get the current topics parent:
--
GeorgeClark - 30 Mar 2017
Wouldn't it be more useful when this macro iterated up the parent relation to the root?
--
MichaelDaum - 30 Mar 2017
I think
%PARENTTOPIC{"name"}%
is more memorable than
%QUERY{"parent.name"}%
Michael - are you thinking of an attribute that would ask for the full path? That would be cool.
--
VickiBrown - 30 Mar 2017
The META macro essentially does a "foreach" up the parent hierarchy, rendering the
format
with a
separator
at each level See
System.VarMETA#A_61_34parent_34_61
I think that the implementation should be PARENTTOPIC is equivalent to META{"parent"} with defaults to only show the $web.$topic of the immediate parent. The remaining meta parameters would be available to make it recurse the parent path with whatever separator desired. So a superset of the TWiki PARENTTOPIC macro, but with the same default behaviour.
--
GeorgeClark - 30 Mar 2017
This is implemented in master - See
https://trunk.foswiki.org/System/VarPARENTTOPIC
--
GeorgeClark - 03 Apr 2017