2022.1
Table Of Contents
- Table of Contents
- Welcome to PrintShop Mail Connect 2022.1
- Setup And Configuration
- System and Hardware Considerations
- Installation and Activation
- Preferences
- Clean-up Service preferences
- Database Connection preferences
- Editing preferences
- Email preferences
- Emmet preferences
- Engines preferences
- Hardware for Digital Signing preferences
- Language preferences
- Logging preferences
- Parallel Processing preferences
- Print preferences
- Sample Projects preferences
- Save preferences
- Scripting preferences
- Engines preferences
- Parallel Processing preferences
- Known Issues
- Uninstalling
- General information
- The Designer
- Designer basics
- Content elements
- Snippets
- Styling and formatting
- Personalizing content
- Preferences
- Clean-up Service preferences
- Database Connection preferences
- Editing preferences
- Email preferences
- Emmet preferences
- Engines preferences
- Hardware for Digital Signing preferences
- Language preferences
- Logging preferences
- Parallel Processing preferences
- Print preferences
- Sample Projects preferences
- Save preferences
- Scripting preferences
- Writing your own scripts
- Script types
- Creating a new Standard Script
- Writing a script
- Setting the scope of a script
- Managing scripts
- Testing scripts
- Optimizing scripts
- The script flow: when scripts run
- Selectors in Connect
- Loading a snippet via a script
- Loading content using a server's API
- Using scripts in Dynamic Tables
- Control Scripts
- Post Pagination Scripts
- Handlebars in OL Connect
- Translating templates
- Designer User Interface
- Designer Script API
- Functions and fields
- Example
- Functions and fields
- html()
- margins
- front, back
- Generating output
- Print Manager
- PrintShop Mail Connect Release Notes
- OL PrintShop Mail Connect Release Notes 2022.1.2
- License Update Required for Upgrade to OL Connect 2022.x
- Backup before Upgrading
- Overview
- OL Connect 2022.1.2 Improvements
- OL Connect 2022.1.1 Improvements
- OL Connect 2022.1 Improvements
- OL Connect 2022.1 Designer Improvements
- OL Connect 2022.1 Output Improvements
- OL Connect 2022.1 Print Manager Improvements
- OL Connect 2022.1 Improvements
- Known Issues
- Previous Releases
- OL PrintShop Mail Connect Release Notes 2021.2.1
- OL PrintShop Mail Connect Release Notes 2021.1
- OL PrintShop Mail ConnectRelease Notes 2020.2.1
- OL PrintShop Mail Connect Release Notes 2020.1
- OL PrintShop Mail Connect Release Notes 2019.2
- OL PrintShop Mail Connect Release Notes 2019.1
- PrintShop Mail Connect Release Notes 2018.2.1
- PrintShop Mail Connect Release Notes 2018.1.6
- PrintShop Mail Connect Release Notes 1.8
- PrintShop Mail Connect Release Notes 1.7.1
- PrintShop Mail Connect Release Notes 1.6.1
- PrintShop Mail Connect Release Notes 1.5
- PrintShop Mail Connect Release Notes 1.4.2
- Connect 1.4.2 Enhancements and Fixes
- Connect 1.4.1 New Features and Enhancements
- Connect 1.4.1 Designer Enhancements and Fixes
- Connect 1.4.1 Output Enhancements and Fixes
- Known Issues
- OL PrintShop Mail Connect Release Notes 2022.1.2
- Knowledge Base
- Legal Notices and Acknowledgements
See also: "Handlebars API" on page460.
Using Handlebars templates: examples
Rendering a Handlebars template repeatedly
A Handlebars template is dynamic by nature. It is converted (compiled) to a JavaScript function.
The Designer script that calls that function must pass data to it, and the result of the function will
depend on that data. If the script calls that same function repeatedly, each time with different
data - for example from a detail table -, the result of each call will be a different piece of HTML.
For example, this script loops over a detail table, each time passing different data to the same
(compiled) Handlebars template.
let policies = record.tables.Policies;
let html = '';
for( var i = 0; i < policies.length; i++) {
{html += Handlebars.render( 'snippets/policy.hbs', policies[i] );
}
results.replaceWith( html );
Selecting a Handlebars template based on a data field
An approach that is also used with HTML snippets is to use the value of a data field in the
current record to determine the name of the Handlebars template to use.
This is an example:
let html = ''
let policydata = record.tables.Policy
for (var i=0; i < policydata.length; i++) {
let templateName = 'snippets/' + policydata[i].fields
['snippetName'] + '.hbs'
html += Handlebars.render( templateName, policydata[i] )
}
results.replaceWith( html );
Styling and formatting
In the Designer you have everything at hand to make your templates look good: colors, fonts
and all the tools to position, align and embellish elements in your designs. This topic informs
Page 290










