internal package Foswiki::Render::Zones internal package Foswiki::Render::Zones Support for rendering anchors. Objects of this class represent a set of generated anchor names, which must be unique in a rendering context (topic). The renderer maintains a set of these objects, one for each topic, to ensure that anchor names are not re-used.
ClassMethod new() Construct a new zones set.
ObjectMethod finish() ObjectMethod addToZone($zone, $id, $data, $requires) $data identified as $id to $zone, which will later be expanded (with
renderZone() - implements %RENDERZONE%). $ids are unique within
the zone that they are added - dependencies between $ids in different zones
will not be resolved, except for the special case of head and script zones
when {MergeHeadAndScriptZones} is enabled.
In this case, they are treated as separate zones when adding to them, but as
one merged zone when rendering, i.e. a call to render either head or script
zones will actually render both zones in this one call. Both zones are undef'd
afterward to avoid double rendering of content from either zone, to support
proper behaviour when head and script are rendered with separate calls even
when {MergeHeadAndScriptZones} is set. See ZoneTests/explicit_RENDERZONE*.
This behaviour allows an addToZone('head') call to require an id that has been
added to script only.
$zone - name of the zone
$id - unique identifier
$data - content
$requires - optional, comma-separated string of $id identifiers that should precede the content
Note: Read the developer supplement at Foswiki:Development.AddToZoneFromPluginHandlers if you are calling
addToZone()from a rendering or macro/tag-related plugin handler
ImplementsNote: Macros will be expanded in all zones. TML markup will not be expanded in the
headandscriptszones. Any formatting inheadandscriptszones including [[TML links]] must be done directly using HTML. TML pseudo-tags likenop.verbatim,literal. andnoautolinkare removed fromheadandscriptzones and have no influence on the markup. All other zones will be rendered as a normal topic.
%ADDTOZONE%.