2022.2
Table Of Contents
- Welcome to PrintShop Mail Connect 2022.2
- 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
- Versioning preferences
- Engines preferences
- Parallel Processing preferences
- Known Issues
- Uninstalling
- General information
- Versioned projects
- The Designer
- Designer basics
- Content elements
- Snippets
- Styling and formatting
- Personalizing content
- Variable data in the text
- Conditional content
- Dynamic images and Print section backgrounds
- Snippets
- Scripts
- Loading data
- Variable data in text: expressions
- Variable data in text: scripts and placeholders
- Formatting variable data
- Showing content conditionally
- Conditional Print sections
- Dynamic images
- Dynamic Print section backgrounds
- Handlebars in OL Connect
- 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
- Versioning 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 OL Connect
- Loading a snippet via a script
- Loading content using a server's API
- Using scripts in Dynamic Tables
- Control Scripts
- Post Pagination Scripts
- Translating templates
- Designer User Interface
- Designer Script API
- Generating output
- Print Manager
- PrintShop Mail Connect Release Notes
- OL PrintShop Mail Connect Release Notes 2022.2.3
- Previous Releases
- OL PrintShop Mail Connect Release Notes 2022.1.5
- 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
- Knowledge Base
- Legal Notices and Acknowledgements
let section = merge.template.contexts.PRINT.sections["Section 1"];
section.sheetConfig.positions.all.allowContent = AllowContent.ALL_SIDES;
section.sheetConfig.positions.all.media = "MyMedia";
section.sheetConfig.positions.all.masterFront = "Master page 1";
section.sheetConfig.positions.all.masterBack = undefined; // or null, or an empty string
Thefollowingscriptensuresthatemptybacksidesofsinglesheetsareomitted.
let section = merge.template.contexts.PRINT.sections["Section 1"];
section.sheetConfig.positions.single.omitMasterOnEmptyBackside = true;
clone()
ThisfunctionreturnsacopyofoneHTMLelementorofasetofHTMLelements,whichcanbe:
l
Theelementsthatmatchtheselectorofascript(see"results"onpage844).
l
Oneelementthatmatchestheselectorofascriptthatrunsfor"Eachmatchedelement"(see
"this"onpage781and"Settingthescopeofascript"onpage373).
l
Theelementsreturnedbyaqueryinthetemplate(see"query()"onpage742).
Seealso:"Dynamicallyaddingsections(cloning)"onpage406.
Toduplicateanexistingtemplateelement,cloneitbeforecallingappend();see"append()"on
page788.
Examples
Thisscriptperformsaniterationovertheelementsintheresults(theelementsthatmatchthe
selectorofthescript).
var row = query("tbody tr", results).clone();
query("tbody", results).append(row);
Thefollowingscriptclonesanexistingtablerowtomatchthenumberofrowsinadetailtable.After-
wardsititeratesovertherowstopopulatethefields.
// Create the number of rows based on the records in the detail table
// We start at 1 so the boilerplate row is used too and there is no need to delete that row
for(var r = 1; r < record.tables['detail'].length; r++) {
results.parent().append(results.clone());
}
// Iterate over the rows and populate them with the data from the accompanying data row
query("#table_2 > tbody > tr").each(function(i) {
this.find('@ItemNumber@').text( record.tables['detail'][i].fields["ItemNumber"]);
this.find('@ItemOrdered@').text( record.tables['detail'][i].fields["ItemOrdered"]);
this.find('@ItemTotal@').text( record.tables['detail'][i].fields["ItemTotal"]);
this.find('@ItemDesc@').text( record.tables['detail'][i].fields["ItemDesc"]);
this.find('@nr@').text(i);
});
Page 832










