context

In a Control Script, the context object represents one context in the template.

Which contexts are available in the template can be queried using merge.template.contexts.

The context being merged can be queried using merge.context.

Field Type Description
sections Array

Array of sections (see section) inside a particular context defined in the template.

Note: When using merge.context.sections keep in mind that for example 'Section X' might only exist in your Print context, so using merge.context.sections['Section X'] without enclosing it in the if statement if (merge.context.type == ContextType.PRINT) {} will yield an error when the script runs for other contexts.
Alternatively, use the template object to access a specific context: merge.template.contexts.PRINT.sections['Section X'].

type ContextType The context type: PRINT, EMAIL or WEB.

Function Description
query(selector) Runs a query across all sections in the Print context. This function is only available in Post Pagination Scripts, which are only applied to the Print context. See Post Pagination Scripts.

Example

This script checks if the output channel is EMAIL and if the context to be merged is the Print context (which happens if the Print context is attached to an email). If this is the case, it includes and excludes certain Print sections from the output.

Copy
if (channel == Channel.EMAIL) {    
    if (merge.context.type == ContextType.PRINT) {         
        merge.context.sections['Section 1'].enabled = false;        
        merge.context.sections['Section 2'].enabled = false;        
        merge.context.sections['Section 3'].enabled = true;    
    }
}