XF 2.0 "if" condition in HTML "class" attribute

DohTheme

Well-known member
Hi all,

what is the best practice to use "if" condition with style property to HTML class?

to make it more clear I have a property "dt_collapsible_extras" and I want to add it's class to HTML here is what I'm using now:


HTML:
<xf:if is="property('dt_collapsible_extras')">
    <div class="message-userExtras message-userExtras-body message-userExtras--collapsible">

    <xf:else />

    <div class="message-userExtras">
</xf:if>

but in "PAGE_CONTAINER" and other templates it's been used in a different way like:

HTML:
<div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}">

I tried to use this way but failed.
 
What is the actual code you used that doesn't work?
<div class="message-userExtras{{ property('dt_collapsible_extras') AND property('dt_messages_layout') == 'option1' ? ' message-userExtras-body message-userExtras--collapsible' : '' }}">
 
Hi all,

what is the best practice to use "if" condition with style property to HTML class?

to make it more clear I have a property "dt_collapsible_extras" and I want to add it's class to HTML here is what I'm using now:


HTML:
<xf:if is="property('dt_collapsible_extras')">
    <div class="message-userExtras message-userExtras-body message-userExtras--collapsible">

    <xf:else />

    <div class="message-userExtras">
</xf:if>

but in "PAGE_CONTAINER" and other templates it's been used in a different way like:

HTML:
<div class="p-navgroup p-account {{ $xf.visitor.user_id ? 'p-navgroup--member' : 'p-navgroup--guest' }}">

I tried to use this way but failed.
We do this:

Code:
{{ property('xbMessageUserElementsCollapse') ? ' message-userExtras-body message-userExtras--collapsible' : '' }}

Right in the message-userExtras class.
 
We do this:

Code:
{{ property('xbMessageUserElementsCollapse') ? ' message-userExtras-body message-userExtras--collapsible' : '' }}

Right in the message-userExtras class.
Great and If I need to combine 2 conditions like

{{ property('dt_collapsible_extras') AND property('dt_messages_layout') == 'option1'
 
When in doubt, apply more parentheses.

<div class="message-userExtras{{ (property('dt_collapsible_extras') AND property('dt_messages_layout') == 'option1') ? ' message-userExtras-body message-userExtras--collapsible' : '' }}">


Fillip
 
sorry to bother you again but I tried and can't figure out how this can be done:

HTML:
<xf:if is="property('dt_collapsible_categories')">
                <div class="block-body block-body--collapsible {{ !is_toggled('_node-' . $node.node_id) ? ' is-active' : '' }}">
            <xf:else />
                <div class="block-body">
            </xf:if>
 
Top Bottom