php - twig: যদি একাধিক অবস্থার সঙ্গে



conditional-operator (1)

এটা বিবৃতি যদি একটি twig সঙ্গে সমস্যা আছে বলে মনে হচ্ছে।

{%if fields | length > 0 || trans_fields | length > 0 -%}

ত্রুটি হল:

Unexpected token "punctuation" of value "|" ("name" expected) in 

আমি বুঝতে পারছি না কেন এটি কাজ করে না, এটি যেন সব পাইপ দিয়ে হারিয়ে যাওয়া।

আমি এই চেষ্টা করেছি:

{% set count1 = fields | length %}
{% set count2 = trans_fields | length %}
{%if count1 > 0 || count2 > 0 -%}

কিন্তু যদি ব্যর্থ হয়।

তারপর এই চেষ্টা:

{% set count1 = fields | length > 0 %}
{% set count2 = trans_fields | length > 0 %}
{%if count1 || count2 -%}

এবং এটা এখনও কাজ করে না, একই সময় ভুল ...

তাই ... যে আমাকে একটি সত্যিকারের সাধারণ প্রশ্নে নিয়ে যায়: যদি টুইগ একাধিক শর্ত সমর্থন করে তবে?


যদি আমি সঠিকভাবে স্মরণ করি Twig সমর্থন করে না || এবং & অপারেটর, কিন্তু প্রয়োজন এবং and এবং যথাক্রমে ব্যবহার করা হবে। আমি দুটি বিবৃতি আরো স্পষ্টভাবে উল্লেখ করার জন্য বন্ধনীগুলি ব্যবহার করব যদিও এটি প্রযুক্তিগতভাবে একটি প্রয়োজনীয় নয়।

{%if ( fields | length > 0 ) or ( trans_fields | length > 0 ) %}

প্রকাশ

Expressions can be used in {% blocks %} and ${ expressions }.

Operator    Description
==          Does the left expression equal the right expression?
+           Convert both arguments into a number and add them.
-           Convert both arguments into a number and substract them.
*           Convert both arguments into a number and multiply them.
/           Convert both arguments into a number and divide them.
%           Convert both arguments into a number and calculate the rest of the integer division.
~           Convert both arguments into a string and concatenate them.
or          True if the left or the right expression is true.
and         True if the left and the right expression is true.
not         Negate the expression.

আরো জটিল ক্রিয়াকলাপগুলির জন্য, বিভ্রান্তি এড়ানোর জন্য বন্ধনীগুলিতে পৃথক এক্সপ্রেশনগুলি মোড়ানো ভাল হতে পারে:

{% if (foo and bar) or (fizz and (foo + bar == 3)) %}




conditional-operator