Опция товара minishop2 - Флажок

Создал опцию товара флажок. Всё хорошо, всё выводится, но только не могу понять как вместо выводимого 1 заменить, к примеру, на слово Есть или Поддерживается. Чувствую что ответ где-то на поверхности, да вот только я всё мимо него хожу Помогите пожалуйста!
Егор
23 ноября 2017, 06:17
modx.pro
2 158
0

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

Евгений Webinmd
23 ноября 2017, 11:53
+2
Fenom
{if $option ==1}
		Есть 
	{/if}

Не fenom
[[*option:is=`1`:then=`Есть`]]
    Егор
    23 ноября 2017, 12:03
    0
    это если мы берем одну какую-то конкретную опцию, а если у меня выводятся все, то как?
    [[msProductOptions]]
      Евгений Webinmd
      23 ноября 2017, 12:07
      +1
      ну по логике же, в чанке писать условие

      {if $option.value == 1}Есть{/if}
      Если не для всех необходимо, то пишите условие и на имя переменной.
    Егор
    23 ноября 2017, 12:09
    0
    я предполагаю что нужно подкорректировать этот чанк
    <table class="uk-table">
    
    {foreach $options as $option}
            <tr>
                <td>{$option.caption}</td>
                <td>{if $option.value is array}
                    {$option.value | join : ', '}
                {else}
                    {$option.value}
                {/if}
                </td>
    {/foreach}
    
            </tr>
    </table>
    Помогите пожалуйста
      Егор
      23 ноября 2017, 12:11
      0
      побывал так:
      <td>{$option.caption}</td>
                  <td>{if $option.value is array}
                      {$option.value | join : ', '}
                  {else}
                      {$option.value}
                  {else}
                  {if $option.value == 1}
                      Есть
                  {/if}
      ерудна получилась ((
        g0dzilla
        23 ноября 2017, 12:35
        -1
        <td>{$option.caption}</td>
        <td>{if $option.value is array}
        		{$option.value | join : ', '}
        	{else}
        		{if $option.value == 1}
        			Есть
        		{else}
        			{$option.value}
        		{/if}
        	{/if}
        </td>
          Егор
          23 ноября 2017, 13:06
          0
          не ругнулся, но по прежнему выводит 1 вместо Есть
            g0dzilla
            23 ноября 2017, 14:40
            0
            Значит или там не 1, или массивом через запятую.
            Можно еще попробовать 1 привести к строчному формату:
            <td>{$option.caption}</td>
            <td>
            	{if $option.value is array}
            		{$option.value | join : ', '}
            	{elseif $option.value == '1'}
            		Есть
            	{else}
            		{$option.value}
            	{/if}
            </td>
              Егор
              23 ноября 2017, 14:56
              0
              попробовал… всё равно выдаёт 1. В minishop2 тип опции стоит флажок и он отмечается чекбоксом. скорее всего там результат получается true или false. Как мне кажется. подскажите как и что с этим можно сделать ((
                g0dzilla
                23 ноября 2017, 15:03
                0
                ?
                <td>{$option.caption}</td>
                <td>
                	{if $option.value is array}
                		{$option.value | join : ', '}
                	{elseif $option.value == true}
                		Есть
                	{else}
                		{$option.value}
                	{/if}
                </td>
                  Егор
                  23 ноября 2017, 15:06
                  0
                  все значения сменились на Есть
        Егор
        23 ноября 2017, 15:05
        0
        по логике получается что
        {if $option.value == true}
        	Есть
        {/if}
        Это работает, но тогда любое значение будет являться true, а значит у всех будет дополняться Есть
        К тому же вывод получился 1 Есть
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          12