Добрый день, к стандартной сортировке шаблона demodizzy, необходимо добавить поле Лучшая цена, которое является у объектов полем-флажок. Как вывести поле и т.д. в принципе все понятно, но сортировка не происходит( в файле __coomon.js пишем следующий код
jQuery('a', '.view-product-list .change .sort').click(function() {
var reactive = jQuery(this).hasClass('reactive');
if(jQuery('.content .numpages').get(0)) {
if(jQuery(this).hasClass('sort-price')) {
jQuery.cookie('sort_field', 'Price', {path: '/'});
} else if( jQuery(this).hasClass('sort-name') ) {
jQuery.cookie('sort_field', 'Name', {path: '/'});
} else if( jQuery(this).hasClass('sort-rasp') ) {
jQuery.cookie('sort_field', 'Rasp', {path: '/'});
} else if( jQuery(this).hasClass('sort-stock') ) {
jQuery.cookie('sort_field', 'Stock', {path: '/'});
}
if(reactive) {
jQuery.cookie('sort_direction', '0', {path: '/'});
} else {
jQuery.cookie('sort_direction', '1', {path: '/'});
}
location.reload(true);
} else {
var contain = jQuery('.view-product-list .catalog .product-list'),
objects = jQuery('li', contain),
targets = [], sorted = [], i = 0,
find = function(array, value) {
for(var i=0; i<array.length; i++) {
if (array[i] == value) return i;
}
return -1;
},
getRandomFloat = function(min, max) {
return Math.random() * (max - min) + min;
},
sorting = function(turn, sortFunc, targetType) {
objects.each(function() {
var _self = jQuery(this).removeClass('center').detach();
var avail = 1000;
if( jQuery('.notInStock', _self).length == 1 ) {
var avail = 1;
}
if( targetType == 'price' ) {
target = +jQuery('div.content_price span', _self).text().match(/[-+]?[0-9]*\.?[0-9]+/);
} else if ( targetType == 'name') {
target = jQuery('a.title', _self).text().toLowerCase().trim();
} else if ( targetType == 'rasp') {
target = jQuery('div.group-price span', _self).label.toLowerCase().trim();
} else {
target = avail;
}
_rand = find(targets, target) != -1 ? getRandomFloat(0.01, 0.001) : 0;
sorted[target + _rand] = _self;
targets[targets.length] = target + _rand;
});
if( typeof( sortFunc ) == 'function' ) {
targets.sort(sortFunc);
} else {
targets.sort();
}
contain.html('');
if(turn) targets.reverse();
for(; i < targets.length; i++) {
contain.append(sorted[targets[i]]);
if(i % 3 == 1)
sorted[targets[i]].addClass('center');
else if (i % 3 == 2 && i != targets.length - 1)
contain.append('<hr />');
}
};
if (jQuery(this).hasClass('sort-price')) {
sorting(reactive, function(a,b){return a-b}, 'price');
jQuery.cookie('sort_field', 'Price', {path: '/'});
} else if (jQuery(this).hasClass('sort-name')) {
sorting(reactive, null, 'name');
jQuery.cookie('sort_field', 'Name', {path: '/'});
} else if (jQuery(this).hasClass('sort-name')) {
sorting(reactive, null, 'rasp');
jQuery.cookie('sort_field', 'Rasp', {path: '/'});
} else {
sorting(reactive);
jQuery.cookie('sort_field', 'Stock', {path: '/'});
}
jQuery('a', this.parentNode).removeClass('active').removeClass('reactive');
if (reactive) {
jQuery(this).addClass('active');
jQuery.cookie('sort_direction', '0', {path: '/'});
} else {
jQuery(this).addClass('reactive');
jQuery.cookie('sort_direction', '1', {path: '/'});
}
}
});
Думаю что проблема в этой строчке
} else if ( targetType == 'rasp') {
target = jQuery('div.group-price span', _self).label.toLowerCase().trim();
Помогите пожалуйста решить проблему