В общем вот этот код решил мою проблему:
указываем в product.tpl
Примечание: у товара должно быть 2 атрибута (или более) иначе if(groupIds.length == 0) return;
{literal}
<script type="text/javascript">
$(function(){
var groupIds=new Array();
$('select[id^="group_"]').each(function(){
groupIds.push(this.id);
});
if(groupIds.length == 0) return;
var newCombos={};
$.each(combinations,function(key,combination){
if(combination.quantity>0){
if(newCombos[combination['idsAttributes']['0']]==undefined){
newCombos[combination['idsAttributes']['0']]=[];
newCombos[combination['idsAttributes']['0']].push(combination['idsAttributes'][1]);
}else{
newCombos[combination['idsAttributes']['0']].push(combination['idsAttributes'][1]);
}
}
});
$('select[id^="group_"]').change(function(){console.log(123);checkCombination()});
checkCombination();
function checkCombination()
{
$('select[id^="group_"] option').prop('disabled',false);
$('a.color_pick').each(function(){
$(this).closest('li').hide();
});
$.each(groupIds,function(key,groupId){
var this_select=$('select[id='+groupId+']');
for(i in newCombos[this_select.val()]){
$('#color_'+newCombos[this_select.val()][i]).closest('li').show();
$('#color_to_pick_list li:visible').eq(0).find('a').trigger('click');
}
});
}
});
</script>
{/literal}