Условие в сниппете вывода опций - не выводить удаленные опции

Еще раз всех приветствую, у товаров была текстовая опция со значением «по запросу», но опция была удалена, а цена была прописана в стандартную опцию минишопа price. Однако в фиде yml значение этой опции сохранилось, а за вывод опций отвечает данный сниппет, возможно ли добавить в него условие, что бы он не выводил удаленную опцию?

Скриншот: disk.yandex.ru/i/5g6y_-gg9qXBMA

<?php
if(empty($tpl) || !$modx->getChunk($tpl)){
    return false;
}
$sQuery = "SELECT
po.value as value,
o.caption as name
FROM
". $modx->getOption('table_prefix') ."ms2_product_options po
LEFT JOIN
". $modx->getOption('table_prefix') ."ms2_options o ON (po.key = o.key)
WHERE
po.product_id = '".$res_id."'";
$result = $modx->query($sQuery);
$res = $result->fetchAll(PDO::FETCH_ASSOC);
$output = "";
foreach($res as $v){
    $output .= $modx->getChunk($tpl,$v);
}
echo $output;
Константин
28 октября 2022, 14:43
modx.pro
73
0

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

Артур Шевченко
28 октября 2022, 16:42
+1
А почему не используете msProductOptions?
    Константин
    28 октября 2022, 17:19
    0
    Спасибо за подсказку. Получилось вывести. Только не могу понять, как избавится от пробелов. Вроде в чанке все пробелы стер:
    {foreach $options as $option}
    {if $option.value[0] != ''}
    <param name="{$option.caption}">{if $option.value is array}
    	{$option.value|join :','|ucfirst}
    	{else}
    	{$option.value|ucfirst}
    	{/if}</param>
    	
    {/if}
    {/foreach}
    А выводится с пробелами до и после значения:
    <param name="Тип светодиода"> Smd3535 (rgb) </param>
      Артур Шевченко
      28 октября 2022, 18:26
      +1
      <param name="{$option.caption}">{if $option.value is array}{$option.value|join :','|ucfirst}{else}{$option.value|ucfirst}{/if}</param>
        Алексей Смирнов
        29 октября 2022, 00:15
        +1
        Еще так можно:
        <param name="{$option.caption}">{$option.value is array ? (($option.value | join :',') | ucfirst) : $option.value | ucfirst}</param>
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4