1.7
Table Of Contents
- Table of Contents
- Welcome to PrintShop Mail Connect 1.7.1
- Setup And Configuration
- System and Hardware Considerations
- Installation and Activation
- Where to Obtain the Installers
- Installation - important information
- Installation - How to guides
- Activation
- Installation Prerequisites
- User accounts and security
- The Importance of User Credentials on Installing and Running PrintShop Mail C...
- Installing PrintShop Mail Connect on Machines without Internet Access
- Installation Wizard
- Running connect installer in Silent Mode
- Activating a License
- Migrating to a new workstation
- Uninstalling
- The Designer
- Basic Steps
- Content elements
- Snippets
- Styling and formatting
- Personalizing Content
- Writing your own scripts
- Designer User Interface
- Script API
- Designer Scripts API
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Example
- Example
- Example
- Example
- Example
- Examples
- Creating a table of contents
- Example
- Examples
- Examples
- Examples
- Examples
- Replace elements with a snippet
- Replace elements with a set of snippets
- Example
- Example
- Control Script API
- Generating output
- Print output
- Email output
- Optimizing a template
- Generating Print output
- Saving Printing options in Printing Presets.
- Connect Printing options that cannot be changed from within the Printer Wizard.
- Print Using Standard Print Output Settings
- Print Using Advanced Printer Wizard
- Adding print output models to the Print Wizard
- Splitting printing into more than one file
- Variables available in the Output
- Generating Tags for Image Output
- Generating Email output
- Print Manager
- General Information
- Release Notes
- Overview
- Connect 1.7.1 General Enhancements and Fixes
- Connect 1.7.1 Designer Enhancements and Fixes
- Connect 1.7.1 Output Enhancements and Fixes
- Known Issues
- Previous Releases
- Overview
- Connect 1.6.1 General Enhancements and Fixes
- Connect 1.6.1 Designer Enhancements and Fixes
- Connect 1.6.1 Output Enhancements and Fixes
- Known Issues
- Overview
- 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
- Legal Notices and Acknowledgments
Example
The following example loads a snippet into a variable and uses the find() and text() commands
of the Designer scripting API.
var labelElm = loadhtml('snippets/label.html');
for(var i = 0; i < record.tables.products.length; i++) {
var label = labelElm.clone();
label.find('@ProductLabel@').text(record.tables.products
[i].ProductDescription);
results.after(label);
}
What's wrong with this code is that it inserts the personalized information within the loop. The
after() command runs as many times as there are records in the detail table 'products'.
The script below is much more efficient: it adds the personalized content to a string called
labelStr and only calls after() after the for loop.
var labelElm = loadhtml('snippets/label.html');
var labelStr = "";
for( var i = 0; i < record.tables.products.length); i++) {
var label = labelElm.clone();
label.find('@ProductLabel@').text(record.tables.products
[i].ProductDescription);
labelStr += label;
}
results.after(labelStr);
Use replace()
When personalizing HTML fragments retrieved from a snippet or from the template itself,
JavaScript's replace() method shows the best performance.
Replace() can only be used on Strings, while the commands loadhtml() and query() return or a
QueryResult, which is a set of strings, like the results object.
A QueryResult allows you to perform DOM manipulations like adding and removing elements,
adding and removing CSS classes etc. When the required manipulations are limited to
find/replace actions, you could change the QueryResult into a string. This allows you to replace
text using the replace() method.
Page 253










