Conditional Helpers
Introduction
Hero Dynamic Text provides a range of helpers to manage conditional logic within your templates. This guide covers the most commonly used conditional helpers to help you create dynamic and personalized content.
Conditional Helpers
if
The if
helper evaluates a condition and renders a block of code if the condition is true.
Usage:
{{#if condition}}
<!-- Content to display if condition is true -->
{{/if}}
Example:
{{#if amex_card}}
<p>Exclusive offer for American Express cardholders!</p>
{{/if}}
If amex_card
is true, the message "Exclusive offer for American Express cardholders!" will be displayed.
unless
The unless
helper is the inverse of if
. It renders a block of code if the condition is false.
Usage:
{{#unless home_owner}}
<p>Check out our great deals for renters!</p>
{{/unless}}
If home_owner
is false, the message "Check out our great deals for renters!" will be displayed.
else
The else
helper is used in conjunction with if
and unless
to define an alternative block of code to render when the condition is false.
Usage:
{{#if condition}}
<!-- Content to display if condition is true -->
{{else}}
<!-- Content to display if condition is false -->
{{/if}}
Example:
{{#if home_owner}}
<p>Thank you for being a homeowner! Enjoy exclusive benefits.</p>
{{else}}
<p>Check out our great deals for renters!</p>
{{/if}}
If home_owner
is true, the message "Thank you for being a homeowner! Enjoy exclusive benefits." will be displayed. Otherwise, "Check out our great deals for renters!" will be shown.
with
The with
helper changes the context within a block of code to a specified object.
Usage:
{{#with object}}
<!-- Content to display with object as the context -->
{{/with}}
Example:
{{#with address}}
<p>Street: {{street}}</p>
<p>City: {{city}}</p>
<p>ZIP: {{zip}}</p>
{{/with}}
Assuming address
is an object with properties street
, city
, and zip
, this will display the address details.
each
The each
helper iterates over a list or array, rendering a block of code for each item.
Usage:
{{#each array}}
<!-- Content to display for each item in the array -->
{{/each}}
Example:
<ul>
{{#each hobbies}}
<li>{{this}}</li>
{{/each}}
</ul>
If hobbies
is an array of values, this will render each hobby as a list element.
#if
with Comparisons
Hero Dynamic Text supports comparisons directly within the if
helper. You can use custom comparison helpers for greater flexibility.
eq
(equal)
Usage:
{{#if (eq value1 value2)}}
<!-- Content to display if value1 equals value2 -->
{{/if}}
Example:
{{#if (eq gender "m")}}
<p>Welcome, sir!</p>
{{/if}}
If gender
is "m", the message "Welcome, sir!" will be displayed.
ne
(not equal)
Usage:
{{#if (ne value1 value2)}}
<!-- Content to display if value1 does not equal value2 -->
{{/if}}
Example:
{{#if (ne marital_status "single")}}
<p>Discover family-friendly offers!</p>
{{/if}}
If marital_status
is not "single", the message "Discover family-friendly offers!" will be displayed.
gt
(greater than)
Usage:
{{#if (gt income_hh 100000)}}
<p>Exclusive luxury products for high-income households!</p>
{{/if}}
Example:
{{#if (gt income_hh 100000)}}
<p>Exclusive luxury products for high-income households!</p>
{{/if}}
If income_hh
is greater than 100,000, the message "Exclusive luxury products for high-income households!" will be displayed.
lt
(less than)
Usage:
{{#if (lt income_hh 50000)}}
<p>Special discounts for budget-conscious shoppers!</p>
{{/if}}
Example:
{{#if (lt income_hh 50000)}}
<p>Special discounts for budget-conscious shoppers!</p>
{{/if}}
If income_hh
is less than 50,000, the message "Special discounts for budget-conscious shoppers!" will be displayed.
gte
(greater than or equal to)
Usage:
{{#if (gte age 18)}}
<p>Explore our range of products for adults.</p>
{{/if}}
Example:
{{#if (gte age 18)}}
<p>Explore our range of products for adults.</p>
{{/if}}
If age
is 18 or older, the message "Explore our range of products for adults." will be displayed.
lte
(less than or equal to)
Usage:
{{#if (lte age 12)}}
<p>Check out our kids' collection!</p>
{{/if}}
Example:
{{#if (lte age 12)}}
<p>Check out our kids' collection!</p>
{{/if}}
If age
is 12 or younger, the message "Check out our kids' collection!" will be displayed.
Conclusion
These conditional helpers in Hero Dynamic Text allow you to create dynamic and personalized content by evaluating various conditions within your templates. By leveraging these helpers, you can enhance user engagement and deliver more relevant experiences.
Next Steps
Explore more features of Hero Dynamic Text: