Помогите с записью проверки

Подскажите, как записать такую проверку.

Ситуация. С помощью дополнения msAddLinked реализован вывод товара и подчиненных товаров на страницу оформления заказа

С помощью сниппета вытаскиваю id подчиненных товаров, чанк этого сниппета такой:

{foreach $links as $link}
{$link.linked_id}
{/foreach}

Вопрос. Как записать следующее условие

Если {$link.linked_id} = x и {$link.linked_id} = y и {$link.linked_id} = z – то выводить «картинку 1», Если link.linked_id} = x и {$link.linked_id} = с и {$link.linked_id} = b – то «выводить картинку 2» и.т.д. (у меня ограниченное количество комбинаций)
Артем
19 апреля 2018, 07:38
modx.pro
705
0

Комментарии: 3

Андрей
19 апреля 2018, 11:18
0
Можно так попробовать:
{var $foo= ["x","y","z"]}
{var $bar = ["a","b","c"]}

{foreach $links as $link}
	{if $link.linked_id in list $foo}
			картинка 1
		{elseif  $link.linked_id in list $bar}
			картинка 2
	{/if}
{/foreach}
    Артем
    19 апреля 2018, 11:47
    0
    Андрей, большое спасибо за ответ. К сожалению, не срабатывает, как надо.

    Если я выбираю x,y,z — то три раза выведет картинка 1, если скажем x, b, с то выведет картинка 1 и два раза картинка 2, если a,b,c -то три раза картинка 2, а мне нужно проверить комбинацию (если x иy и z то вывести картинку 1
      Ян Сонов
      20 апреля 2018, 00:02
      0
      {foreach $links as $link}
      	{if $link.linked_id == x && $link.linked_id == y && $link.linked_id == z}
      		картинка 1
      	{elseif  $link.linked_id == a && $link.linked_id == b && $link.linked_id == c}
      		картинка 2
      	{/if}
      {/foreach}
      для таких вещей используются логические операторы
      $a || $b — логичесое ИЛИ, TRUE если или $a, или $b TRUE.
      $a && $b — лигическое И, TRUE если и $a, и $b TRUE.
      !$a — отрицание, TRUE если $a не TRUE.
      $a or $b — логическое ИЛИ, TRUE если или $a, или $b TRUE.
      $a and $b — логическое И, TRUE если и $a, и $b TRUE.
      $a xor $b — исключающее или, TRUE если $a, или $b TRUE, но не оба.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    3