[Twig] Summary of how to use if statement

How to write if statement in Twig template.
I would like to introduce some cases that are often used in practice.

Official:if – Documentation – Twig

How to use if statements in Twig

Let’s summarize the basics.

Determine if the expression is true

{% if testCase == false %}
    <p>"testCase" is false.</p>
{% endif %}

 

Determine if the value of the variable is true

{# user is variable #}
{% if user %}
    <p>{{ user }} is your ID.</p>
{% endif %}

{# users is array. You can also test if an array is not empty #}
{% if users %}
    <ul>
        {% for user in users %}
            <li>{{ user.name }}</li>
        {% endfor %}
    </ul>
{% endif %}

 

AND and OR can also be used

{% if user.age > 18 and user.age < 40 %}
    <p>Youth</p>
{% endif %}

{% if user.city == 'tokyo' or user.city == 'osaka' %}
    <p>live in Tokyo or Osaka</p>
{% endif %}

 

How to write else if and else

{% if product.stock > 10 %}
   Available
{% elseif product.stock > 0 %}
   {{ product.stock }} left
{% else %}
   Sold Out
{% endif %}

 

That’s all for basic usage.

Example of using if statement in Twig

I would like to introduce a case that is often used, including the grammar that can be used in the if statement.

Check if variable is defined

{% if product.name is defined %}
    <div>{{ product.name }} is in stock.</div>
{% endif %}

{# You can use is not defined #}
{% if product.name is not defined %}
    <div>the product is out of stock.</div>
{% endif %}

 

Determine if null

{% if user is null %}
    <p>new user</p>
{% endif %}

 

Strictly check the value (use instead of ===)

{% if user.age is sameas(40) %}
    <p>Middle-aged</p>
{% endif %}

 

Determine using regular expressions

{% if phone matches '/^[\\d\\.]+$/' %}
   <p>{{ phone }}</p>
{% endif %}

 

Determine the first or last character

{% if 'Tokyo' starts with 'T' %}
{% endif %}

{% if 'Tokyo' ends with 'o' %}
{% endif %}

 

Also, if you notice it, I would like to add usage examples.


Leave a Reply 1

Your email address will not be published.

11 + 18 =


[Twig] Summary of available operators | D-NET

[Twig] Summary of available operators | D-NET

[…] The above matches is also introduced in the following article. This is useful when you want to compare with a regular expression. [Twig] Summary of how to use if statement […]