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.
Construct a new zones set.
Break circular references.
ObjectMethod addToZone($zone, $id, $data, $requires)
, which will later be expanded (with
renderZone() - implements
are unique within
the zone that they are added - dependencies between
in different zones
will not be resolved, except for the special case of
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
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
are rendered with separate calls even
is set. See ZoneTests
This behaviour allows an addToZone('head') call to require an id that has been
$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
Note: Macros will be expanded in all zones. TML markup will not be expanded
scripts zones. Any formatting in
including [[TML links]] must be done directly using HTML. TML pseudo-tags like
noautolink are removed from
zones and have no influence on the markup.
All other zones will be rendered as a normal topic.