Упорядочивание Числовых Значений

Попробуйте еще в функции fn_get_current_filters (app/functions/fn.catalog.php)

заменить

"ORDER BY ?:product_feature_variants.position ASC, ?:product_feature_variant_descriptions.variant ASC",

на

"ORDER BY ?:product_feature_variants.position ASC, CAST(?:product_feature_variant_descriptions.variant as SIGNED INTEGER), ?:product_feature_variant_descriptions.variant ASC",

Попробуйте еще в функции fn_get_current_filters (app/functions/fn.catalog.php)

заменить

"ORDER BY ?:product_feature_variants.position ASC, ?:product_feature_variant_descriptions.variant ASC",

на

"ORDER BY ?:product_feature_variants.position ASC, CAST(?:product_feature_variant_descriptions.variant as SIGNED INTEGER), ?:product_feature_variant_descriptions.variant ASC",

Помогло, спасибо большое. Ещё вопрос. В числовые значения характеристик нельзя вносить отрицательные числа. Как можно это исправить?

Найдите того, кто в регулярных выражениях разбирается и в файле js/tygh/core.js правило

            integer: function(val)
            {
                return (/^[0-9]+$/.test(val) && !$.is.blank(val)) ? true : false;
            },

Найдите того, кто в регулярных выражениях разбирается и в файле js/tygh/core.js правило

            integer: function(val)
            {
                return (/^[0-9]+$/.test(val) && !$.is.blank(val)) ? true : false;
            },

Если не ошибаюсь

/^-?[0-9]+$/

но не в этом месте. с 851-й строки (у меня) код вставить такой

вместо

                } else if (jelm.hasClass('cm-value-decimal')) {
                    var is_negative = negative_expr.test(elm_val);
                    var new_val = elm_val.replace(/[^.0-9]+/g, '');
                    new_val = new_val.replace(/([0-9]+[.]?[0-9]*).*$/g, '$1');

поставить

                } else if (jelm.hasClass('cm-value-decimal')) {
                    var is_negative = negative_expr.test(elm_val);
                    var new_val = elm_val.replace(/[^-.0-9]+/g, '');
                    new_val = new_val.replace(/([-]?[0-9]+[.]?[0-9]*).*$/g, '$1');

проверил, работает (4.3.5)

Если не ошибаюсь
/^-?[0-9]+$/
но не в этом месте. с 851-й строки (у меня) код вставить такой
вместо

                } else if (jelm.hasClass('cm-value-decimal')) {
                    var is_negative = negative_expr.test(elm_val);
                    var new_val = elm_val.replace(/[^.0-9]+/g, '');
                    new_val = new_val.replace(/([0-9]+[.]?[0-9]*).*$/g, '$1');
поставить
                } else if (jelm.hasClass('cm-value-decimal')) {
                    var is_negative = negative_expr.test(elm_val);
                    var new_val = elm_val.replace(/[^-.0-9]+/g, '');
                    new_val = new_val.replace(/([-]?[0-9]+[.]?[0-9]*).*$/g, '$1');
проверил, работает (4.3.5)

Да, ошибся классом. Спасибо

Если не ошибаюсь

/^-?[0-9]+$/

но не в этом месте. с 851-й строки (у меня) код вставить такой

вместо

                } else if (jelm.hasClass('cm-value-decimal')) {
                    var is_negative = negative_expr.test(elm_val);
                    var new_val = elm_val.replace(/[^.0-9]+/g, '');
                    new_val = new_val.replace(/([0-9]+[.]?[0-9]*).*$/g, '$1');

поставить

                } else if (jelm.hasClass('cm-value-decimal')) {
                    var is_negative = negative_expr.test(elm_val);
                    var new_val = elm_val.replace(/[^-.0-9]+/g, '');
                    new_val = new_val.replace(/([-]?[0-9]+[.]?[0-9]*).*$/g, '$1');

проверил, работает (4.3.5)

Спасибо, получилось

Добрый день.
А этот способ уже перестал работать? Почему-то у меня не получается.

Заранее спасибо

Не тестировали. Но теоретически, проблем быть не должно