Как правильно сформировать двойное условие if?

Есть два условия для вывода определенного метода оплаты в списке предлагаемых:
1) АйДи метода оплаты "такой-то".
2) Сумма заказа не менее "такой-то".

В формировании списка методов оплаты в файле checkout.payment.html прописываю следующее: {if $m.id == 'N' && $cart_total < $min_cart_total}...{/if}
Такая формулировка не работает, приходится создавать два условия - одно в другом: {if ...}{if ...}...{/if}{/if} Но мне кажется, что это не по-феншую как-то.

Подскажите, пожалуйста, знающие люди, почему не работает двойное условие? Что я делаю не так?


3 ответа

    • +1
      Плебей Плебей 28 июля 2016 16:15 #

      Причем тут elseif? Должно выполняться два условия одновременно, без "если".

  • 1


    if условие 1
        if условие 2

    эквивалентно записи

    if условие1 && условие2
    • +1
      Плебей Плебей 28 июля 2016 16:29 #

      Мозгами я понимаю это. Но прикол в том, что if ... && ... отказывается работать, только два последовательных условия работают (первый Ваш вариант). Почему - не понимаю. Если это не принципиально для сервера (нагрузка и т.п.), я оставлю два последовательных условия.

      Неработающий вариант:

      {if $m.id == 'N' && $cart_total < $min_cart_total}

      Работающий вариант:

      {if $m.id == 'N'}{if $cart_total < $min_cart_total}
  • 1

    Либо вы не всё показали из своего кода, либо мистика... Но всё равно непохоже, чтобы ваш вариант мог создавать сколько-либо существенную нагрузку :)

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите