I have the script written in TWIG.
Weight: {{ doc.weight }} kgs<br />
// This part of script shows text information from "detail" and "info" MySQL fields ONLY IF these fields is NOT empty
{% if "" == doc.info_hl %}
{% if '' != doc.detail_code %}
<b>Info: {{ doc.info }}</b>
{% endif %}
{% else %}
Info: {{ doc.info_hl|raw }}
{% endif %}
<br />
{% if "" == doc.detail_code_hl %}
{% if '' != doc.detail_code %}
<b>Details: {{ doc.detail_code }}</b>
{% endif %}
{% else %}
<b>Details: {{ doc.detail_code_hl|raw }}</b>
{% endif %}
Sometimes MySQL field "weight" have values "0.00"
How to modify the code above - DO NOT SHOW "weight" MySQL field IF value in this field "0.00" ? We can see above how we can do it with empty text fields, but how to do that with decimal fields equals to "0.00" ?
Thanks in advance for any hint to try !
Please have a look at the is empty
test in the Twig documentation. This test operates the same as the PHP empty()
function. Here is a handy Type Comparison Table to help you get any idea of what it will return.
If it is expected that this field will only ever contain numbers, or String
representations of numbers, you can get around empty('0.00') === FALSE
by adding a 0
to the variable:
empty('0.00' + 0) === TRUE
// In Twig: {%if ($value + 0) is empty %}
Here is a list of available Expressions available in Twig Conditionals.
What about simply write
{% if '0.00' != doc.weight %} Weight: {{ doc.weight }} kgs {% endif %}
or even better
{% if not ('0.00' == doc.weight) %}... {% endif %}
?