Саша, привет! У тебя есть процессор, который получает данные товаров. Как правило это web/catalog/products/getdata. Вот тебе там и надо в метод setSelection() добавить дополнительные колонки. Или в методе afterIteration() уже в конечном массиве данных добавить элементы. Ты скорее всего добавил в исходный TV сразу набор значений, к примеру X==1||XL==2 и т.п. Я же обычно делаю это на документах (там специально заведен контекст spravochniki). Вот если у тебя это было бы сделано на документах, то тебе бы только оставалось в setSelection() приджоинить таблицу документов по значениям-ключам TV-шек и все, получил бы названия размеров, цветов и т.п. Но у тебя скорее всего готовый набор значений. Значит тебе надо сделать так: я специально для таких случаев вот написал сниппет на скорую руку: <?php $elements = array();
if($id AND $doc = $modx->getObject('modTemplateVar', $id)){ if($els = $doc->elements){ $els = explode('||', $els);
foreach($els as $el){
$a = explode('==', $el);
if(isset($a[1])){
$el_value = $a[1];
}
else{
$el_value = $a[0];
}
$title = $a[0];
$elements[$el_value] = $title;
}
}
}
return isset($elements[$value]) ? $elements[$value] : null; Пример вызова: [[getListValue?id=10
&value=[[*color]]
]] Параметры:
id — id TV-параметра.
value = значение TV-параметра. Это для тех TV-шек, где данные четко перечислены в самом TV-параметре, к примеру Выберите цвет==0||Черный==1||Красный||Белый==3