Aw: Порядок атрибутов в товаре
components\com_jshopping\tables\product.php
замените
function getAttribValue ...
на
function getAttribValue($attr_id, $other_attr = array(), $onlyExistProduct = 0){
$jshopConfig = JSFactory::getConfig();
$allattribs = JSFactory::getAllAttributes(1);
$lang = JSFactory::getLang();
if ($allattribs[$attr_id]->independent==0){
$where = "";
foreach($other_attr as $k=>$v){
$where.=" and PA.attr_".(int)$k."=".(int)$v;
}
if ($onlyExistProduct) $where.=" and PA.count>0 ";
$sorting = $jshopConfig->attribut_dep_sorting_in_product;
if ($sorting=="") $sorting = "V.value_ordering";
if ($sorting=="PA.product_attr_id") $sorting = "min(PA.product_attr_id)";
$field = "attr_".(int)$attr_id;
$query = "SELECT PA.$field as val_id, V.`".$lang->get("name")."` as value_name, V.image
FROM `#__jshopping_products_attr` as PA
INNER JOIN #__jshopping_attr_values as V ON PA.$field=V.value_id
WHERE PA.product_id=".(int)$this->product_id." ".$where."
GROUP BY PA.$field
ORDER BY ".$sorting;
}else{
$sorting = $jshopConfig->attribut_nodep_sorting_in_product;
if ($sorting=="") $sorting = "V.value_ordering";
$query = "SELECT PA.attr_value_id as val_id, V.`".$lang->get("name")."` as value_name, V.image, price_mod, addprice
FROM `#__jshopping_products_attr2` as PA
INNER JOIN #__jshopping_attr_values as V ON PA.attr_value_id=V.value_id
WHERE PA.product_id=".(int)$this->product_id." and PA.attr_id=".(int)$attr_id."
ORDER BY ".$sorting;
}
extract(js_add_trigger(get_defined_vars(), "after"));
$this->_db->setQuery($query);
return $this->_db->loadObjectList();
}