merge

In Control Scripts, the root level instance of the object merge is the entry point from where you can query and change the way contexts are merged. It gives access to the template with all its contexts and sections.
For more information about Control Scripts, see Control Scripts and Control Script API.
Some of the objects are also useful in Post Pagination Scripts; see Post Pagination Scripts and Post Pagination Script API.
For sample scripts, follow the links to the respective objects.

Field Type Description
channel Channel The final output channel: EMAIL, PRINT or WEB. The channel doesn't change when the output consists of different contexts. When generating an email, for example, the channel is EMAIL, even when merging the Print context to attach it to the email.
context Context The context rendered by this merge run. If for one record, different contexts need to be output (for example, when the Print context is attached to an email) a record is merged multiple times: once per context. Per merge run, merge.context shows with which context the record is merged.
section Section

In Standard Scripts, this object defines the section that is being merged.


Note! In Control Scripts, merge.section is only available when the output channel is WEB. To make sure that it is defined, use the following statement: if (merge.channel == Channel.WEB && merge.context.type == ContextType.WEB) { ... }.
To retrieve any section in a Control Script, use: merge.template.contexts.ContextType.Section['Section name']; (for example: merge.template.contexts.PRINT.sections["Section EN"]).

In Post Pagination Scripts, only Print sections are available.

template Template This object contains the template and all of its contexts. It can be used to find out which contexts are available in the template, using merge.template.contexts (see context) and to manipulate the sections in those contexts (see section).