У вас по умолчанию стоит отображение товаров списком, для него выполните следующее, в шаблоне Товары найдите:
<div class="price over">
<ul class="cost fnt11 fntupcase txtalgnlft fntarl fleft ">
<li>Цена от: {goods.MIN_PRICE_NOW | money_format}</li>
{% IF goods.MIN_PRICE_OLD > goods.MIN_PRICE_NOW %}
<li class="last linethrough">Старая цена:
{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}
</li>
{%ENDIF%}
</ul>
<!-- Если товара нет в наличие и в настройках отключена возможность класть -->
{% IF SETTINGS_GOODS_DONT_PUT_TO_CART_MORE_THAN_AVAILABLE && goods.MAX_REST_VALUE==0 %}
{%ELSE%}
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.MIN_PRICE_NOW_ID}" class="goodsListForm">
<div>
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" />
<a class="orangebut fnt11 fntarl txtalgncnt fright fntupcase anone0" onclick="$('#goodsListFormId{goods.MIN_PRICE_NOW_ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&form%5Bgoods_from%5D={goods.GOODS_FROM}&form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" title="Положить «{goods.NAME}» в корзину">Купить</a>
</div>
</form>
{%ENDIF%}
</div>
замените на:
{% IF goods.MAX_PRICE_NOW != goods.MIN_PRICE_NOW %}
<div class="change">
<select class="select_mod">
<option disabled>Выберите свойство товара</option>
{% FOR mods %}<option value="{goods.mods.ID}" {% IF goods.mods.SELECTED %}selected="selected"{% ENDIF %}>{%FOR v%}{goods.mods.v.NAME}: {goods.mods.v.VALUE} {% ENDFOR v %}</option>{% ENDFOR mods %}
</select><br/><br/>
{% FOR mods %}
<div class="mod_inf {goods.mods.ID}">
<div class="price over">
<ul class="cost fnt11 fntupcase txtalgnlft fntarl fleft ">
<li>Цена от: {goods.mods.PRICE_NOW | money_format}</li>
{% IF goods.mods.PRICE_OLD > goods.mods.PRICE_NOW %}
<li class="last linethrough">Старая цена:
{goods.mods.PRICE_OLD | number_format("0", ",", " ")}
</li>
{%ENDIF%}
</ul>
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.mods.ID}" class="goodsListForm">
<div>
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{goods.mods.ID}" />
<a class="orangebut fnt11 fntarl txtalgncnt fright fntupcase anone0" onclick="$('#goodsListFormId{goods.mods.ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&form%5Bgoods_from%5D={goods.GOODS_FROM}&form%5Bgoods_mod_id%5D={goods.mods.ID}" title="Положить «{goods.mods.NAME}» в корзину">Купить</a>
</div>
</form>
</div>
</div>
{% ENDFOR mods %}
</div>
{% ELSE %}
<div class="price over">
<ul class="cost fnt11 fntupcase txtalgnlft fntarl fleft ">
<li>Цена от: {goods.MIN_PRICE_NOW | money_format}</li>
{% IF goods.MIN_PRICE_OLD > goods.MIN_PRICE_NOW %}
<li class="last linethrough">Старая цена:
{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}
</li>
{%ENDIF%}
</ul>
<!-- Если товара нет в наличие и в настройках отключена возможность класть -->
{% IF SETTINGS_GOODS_DONT_PUT_TO_CART_MORE_THAN_AVAILABLE && goods.MAX_REST_VALUE==0 %}
{%ELSE%}
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.MIN_PRICE_NOW_ID}" class="goodsListForm">
<div>
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" />
<a class="orangebut fnt11 fntarl txtalgncnt fright fntupcase anone0" onclick="$('#goodsListFormId{goods.MIN_PRICE_NOW_ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&form%5Bgoods_from%5D={goods.GOODS_FROM}&form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" title="Положить «{goods.NAME}» в корзину">Купить</a>
</div>
</form>
{%ENDIF%}
</div>
{%ENDIF%}
В конец main.js вставьте:
$(function(){
$('.select_mod').change(function(){
var modInf = $(this).closest('.change').find('.mod_inf').hide(),
active = modInf.filter('.' + $(this).val());
if(active.length){
active.show();
return;
}
modInf.first().show();
}).trigger('change');
});
Результат: