[решено]Как поместить результат SWICH в переменную?
Есть код вывода MIGX полей с помощью foreach. Появилась потребность получать значения исходя из условий. IF ELSE городить не хочется, задумал сделать с помощью конструкции SWICH, но есть одно но. На странице сама конструкция, является значением.
{set $rows = json_decode( $_modx->resource.id | resource: 'lands', true)}
{foreach $rows as $idx => $row}
{switch $row.status}
{case 2}
{$status = 'sale'}
{case 1}
{$status = 'block'}
{case 0}
{$status = 'spell'}
{default}
{$status = $row.status}
{/switch} - эта конструкция на странице дает правильное значение и выводит его на экран, а мне нужно что бы это значение было только лишь в переменной {$status}
<a class="sb-row {$status}" href="">
<span class="sb-item">{$idx+1}</span>
<span class="sb-item">{$row.number}</span>
</a>
{/foreach}
Получается что по мимо того что переменная вставляет правильное значение, еще и сама конструкция SWICH дублирует значение на экран. Где что упустил?Комментарии: 2
Допер, правильно так
{set $rows = json_decode( $_modx->resource.id | resource: 'lands', true)}
{foreach $rows as $idx => $row}
{switch $row.status}
{case 2}
<a class="sb-row sale" href="">
<span class="sb-item">{$idx+1}</span>
<span class="sb-item">{$row.number}</span>
<span class="sb-item">{$row.area}</span>
<span class="sb-item">{$row.price}</span>
<span class="sb-item">{$row.cost}</span>
<span class="sb-item">{if $row.status == 2}В продаже{/if}</span>
</a>
{case 1}
<a class="sb-row block" href="">
<span class="sb-item">{$idx+1}</span>
<span class="sb-item">{$row.number}</span>
<span class="sb-item">{$row.area}</span>
<span class="sb-item">{$row.price}</span>
<span class="sb-item">{$row.cost}</span>
<span class="sb-item">{if $row.status == 1}Бронь{/if}</span>
</a>
{case 0}
<a class="sb-row spell" href="">
<span class="sb-item">{$idx+1}</span>
<span class="sb-item">{$row.number}</span>
<span class="sb-item">{$row.area}</span>
<span class="sb-item">{$row.price}</span>
<span class="sb-item">{$row.cost}</span>
<span class="sb-item">{if $row.status == 0}Продано{/if}</span>
</a>
{default}
<a class="sb-row {$row.status}" href="">
<span class="sb-item">{$idx+1}</span>
<span class="sb-item">{$row.number}</span>
<span class="sb-item">{$row.area}</span>
<span class="sb-item">{$row.price}</span>
<span class="sb-item">{$row.cost}</span>
<span class="sb-item">{if $row.status == 2}В продаже{/if}</span>
</a>
{/switch}
{/foreach}
По идее нужно так
{set $status ="block"}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.