logic:if
AJAX
ajax:delayedload ajax:event ajax:navigation ajax:region
Data
data:calendar data:column data:postrepeater data:productbrandrepeater data:productcategoryrepeater data:productrepeater data:repeater data:table data:template data:tree
Forms
forms:address forms:captcha forms:checkbox forms:checkboxgroup forms:codeeditor forms:combobox forms:datepicker forms:dialogbox forms:editbox forms:fileupload forms:form forms:hidden forms:money forms:officeuseregion forms:option forms:password forms:paymentmethod forms:radiobutton forms:radiobuttongroup forms:row forms:searchbox forms:signature forms:slider forms:spinbox forms:submitbutton forms:submitimage forms:submitlink forms:successcontent forms:textarea forms:timepicker
Layout
layout:gallery layout:productgallery layout:rotator layout:stepper layout:stepperpanel layout:tablist layout:tablistitem
Logic
logic:dependency logic:else logic:if
ATTRIBUTES
EXAMPLES
logic:include logic:parse logic:variable
Navigation
navigation:breadcrumbs navigation:item navigation:primary navigation:secondary
Personalisation
personalisation:firstname personalisation:fullname personalisation:lastname personalisation:other
Standard
standard:audio standard:embed standard:icon standard:image standard:link standard:script standard:tooltip standard:video
Templates
templates:button templates:card templates:column templates:fancybox templates:faq templates:flexlayout templates:header templates:row templates:section templates:styles templates:teammember templates:testimonial
Regions
regions:content regions:contentadditional regions:security regions:togglable
Third Party
thirdparty:googlemap thirdparty:googlemapmarker

<logic:if> </...>

Defines a region which will show only if the supplied test evaluates to true.

Related Tutorials

Content

any
The content to show if the test condition is true.

Attributes

evaluateAt
string
Sets whether to evaluate the test during the render phase (when rendered) or when the object (and children) are being constructed

Note: Do not use when used for checking security (as child nodes may still be constructed and events processed)

Valid options: render, init
test
New
Sets the test for the statement

Tutorials

Examples

Test if Current Page is the home page

HTML:

<logic:if test="\Components\Website\Pages::currentPageId() == '/'"> This is the home page </logic:if>

Test whether a variable (Current Page) has an icon.

HTML:

<logic:variable value="[? \Components\Website\Pages::current() ?]" as="page" /> <logic:if test="$page['page_icon']"> The Current Page has an Icon. </logic:if>

Using logical operators

HTML:

<logic:if test="(\Components\Website\Pages::currentPageId() == '/') || (\Components\Website\Pages::currentPageId() == '/about/')"> This is the home page or the about page. </logic:if> <logic:if test="(\Components\Website\Pages::currentPageId() == '/') && !(\Components\Customers\Contacts::currentIsLoggedIn())"> This is the home page, AND the current contact is NOT logged in. </logic:if>