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
Thisnarrowsthescopeofthesearchandresultsinaveryfastquery,aselementswithanIDorclass
areindexedbyConnectDesigner'slayoutengine.
ForinformationabouthowtogiveanelementanIDorclass,see"IDandclass"onpage172.
Seealso:"Quick-startascriptforaspecificIDorclass"onpage371.
Targeting text
TextinitselfcannothaveanIDorclass,buttheelementthatcontainsitcan.Thesmallestpossiblecon-
taineroftextisaSpan.TolearnhowtoputtextinsideaSpan,see"Span"onpage229.GivetheSpan
anIDorclassandusethatasthescript'sselector.
Totargettextinabiggercontainer(aparagraph,forexample),changetheFindmethodofthescriptto
Selector and Text,usetheIDorclassofthecontainerelementasSelectorandtypethetextinthe
Textfield.
Tip: DraggingadatafielddirectlytotheScriptspanecreatesascriptwithaclassselector,
withoutaddingaplaceholdertothetemplate.
Tip: Whenyouusethedrag-and-dropmethod(withoutpressingtheALTkey)toinsertvariable
dataplaceholdersintoatemplate,thescript'sselectorisbydefaulttheclassoftheelement-a
SpanorDiv-inwhichtheplaceholderiswrapped.Formoreinformationsee:"Variabledatain
text:scriptsandplaceholders"onpage311.
AvoidDOMmanipulations
TheScriptingAPIoftheDesignerisaverypowerfultooltomanipulateandpersonalizeyourdocument.
ButkeepinmindthatDOMmanipulationcommandslikeappend(),prepend(),before()andafter()are
resourceintensive.
TryavoidingDOMmodifications,especiallywithinloops.Storingthecontentinavariableandappend-
ingtheinformationaftertheloopismoreefficient:thisway,thetemplatewillbetouchedonlyonce.
Example: Thefollowingexampleloadsasnippetintoavariableandusesthefind()andtext()
commandsoftheDesignerscriptingAPI.
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'swrongwiththiscodeisthatitinsertsthepersonalizedinformationwithintheloop.Theafter()
commandrunsasmanytimesastherearerecordsinthedetailtable'products'.
Page 381










