Long series of nested conditionals
We have a virtual giving "catalog" where each "item" is basically a different donation form. (The catalog is an LCMS page http://www.cbf.org/join-us/more-ways-to-give/cbfs-giving-catalog/ and each item links to a different LO donation form.) We created an eCard stationery for each item/donation form specific to that gift, with a specific image and specific text.
I would like to create some holiday ecard options -- for example, one with a Christmas image and one with a Hanukkah image -- but with the text remaining specific to the gift purchased.
My thought is to create each holiday stationery using conditionals for the content. For example, stationery with a Christmas image would include the following conditional scenario: If Donation Form ID is 1 then content is P; if Donation Form ID is 2 then content is Q; if Donation Form ID is 3 then content is R. I have 8 donation forms.
Is this kind of conditional even possible?
Insights appreciated.
Kim
Comments
-
As long as the content is the same, you can put it in a resuable PageBuilder page with specific naming convention to contain form Id.
For example with your case:
1. Create 8 resuable PageBuilder pages with names: reus_ecard_1 for donation form #1, reus_ecard_2 for donation form #2 and so on
2. For all exsting eCard stationery you have, cut the donation form specific content and paste it into the corresponding resuable page you have just created - then write S51 tag to include the resuable page in place of moved content: e.g, [[S51:reus_card_1]]
3. For the new holiday eCards, you can include the donation form content like that [[E51:reus_card_[[S120:dc:donFormId]]]]
This way you will have each gift text centerlized in one place and without conditional S-tags.
Hope this helps!5 -
Romany -
This is great!! Thank you so much!
Kim0 -
Great idea, Romany! You can also pull any query string from a Luminate URL using S334, so [[S334:df_id]] will also render the donation form ID.0
-
Kim Ethridge:
[...] Is this kind of conditional even possible? [...]While Romany's answer is certainly the best, to answer the broader question re: nested conditionals: I don't recall the point at which nested conditionals stop functioning, but I think 8 deep is okay. If I remember correctly, somewhere around 15, the parser starts to choke on all the data and the processing of the conditional fails to complete.
However, if you were resigned to using conditionals, it sounds like in this case you don't actually need to nest any conditionals. Nesting conditionals is only necessary when you need to include or exclude content based on a dependent condition -- that is, if two conditions could be true at the same time, but you want one of the conditions to take priority over the other. Grammatically, it's the difference between...
[[?x1x::x[[S120:dc:donFormID]]x::<ECARD #1 CONTENT>::<ECARD #2 CONTENT>]]<br /><br /><br/>Which can be read as "If we are using donation form #1, display content from ecard #1; otherwise, display content from ecard #2."
...or...
[[?x1x::x[[S120:dc:donFormID]]x::<ECARD #1 CONTENT>::]] [[?x2x::x[[S120:dc:donFormID]]x::<ECARD #2 CONTENT>::]]<br /><br /><br/>Which can be read as "If we are using donation form #1, display content from ecard #1; otherwise, do nothing. Next, if we are viewing donation form #2, display content from ecard#2; otherwise, do nothing."
Both of these conditionals will achieve the same effect, but because we will (should) never run into a situation where the page, email, or document thinks we're using both donation forms #1 and #2 at the same time, then nesting is unnecessary and we can just do multiple independent checks one after the other, saving ourselves some headache.
2 -
Great information! Thanks Mark!0
-
I believe it's somewhere closer to 20 deep.
I write them like this:
[[?
foobar::bar
::
this::that
]]
And I read this as...
IF
foobar CONTAINS bar
THEN
this OTHERWISE that
Then nesting them looks like this...
[[?
foobar::bar
::
this::
[[?
foobar::foo
::
this::that
]]
]]
Once its all written and final you can pull out the formatting and indents, but this makes it a lot easier to track.
BTW - Thinking 'CONTAINS' explains the whole *foobar*::*bar* business you see. The asterisks make the CONTAINS function as an EQUALS.
bar::bar bar CONTAINS bar is true
foobar::bar foobar CONTAINS bar is true
*bar*::*bar* *bar* CONTAINS *bar* is true
*foobar*::*bar* *foobar* CONTAINS *bar* is false
Make sense? Now with a real tag rather than foobar...
[[?
*[S1:first_name]*::*brian* <- won't accidently match to 'briana'
::
"Yo, Bri!"::"Hello, Friend"
]]
Here's another neat trick. Either/Or matches!
[[?
*brian*amy*::*[S1:first_name]* <- will match to either 'brian' or 'amy'
::
"Yo, Mucha!"::"Hello, Friend"
]]1
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 3 Blackbaud Staff Discussions
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board