tagManager2, проблема с сортировкой дробных чисел

Проблема вот в чем, сделал фильтрацию и сортировку через tagManager2, все работает хорошо, однако, цены у меня приведены дробью, например "12.2". С целыми числами работает все хорошо, но при дробных перестает работать сортировка, с фильтрацией все в порядке. Как это исправить?

Есть ссылка где глянуть?

@Andchir http://nerpa.by/catalog/ добавил 4 товара, 2 с целыми числами, 2 с дробными, при сортировке все отчетливо видно

В filters_simple.js надо сделать так:

slider_steps: [0.1],//Число единиц шага слайдера

@Andchir сказал tagManager2, проблема с сортировкой дробных чисел:

slider_steps: [0.1],//Число единиц шага слайдера

Не помогло, изменил, но все попрежнему, можете убедится по ссылке выше

Товары это ресурсы MODX или отдельная таблица?
Покажите настройки TagManagers в системных настройках.

@Andchir Товары это ресурсы
0_1468763512937_Безымянный.jpg

Что говорит "debug"?

@Andchir А как посмотреть? До этого просто проблем не возникало)

@Andchir В firebug ошибок нет

@Andchir И в журнале ошибок ModX пусто

В наборе параметров включить debug и посмотреть запросы в журнале ошибок (пора бы его назвать просто "консоль").
http://wiki.modx-shopkeeper.ru/doku.php?id=getproducts

До этого просто проблем не возникало)

До чего "этого"?

@Andchir

(
    [0] => Array
        (
            [0] => isfolder01
            [1] => 0
            [2] => 2
        )

)

[2016-07-18 09:08:16] (ERROR @ /home/nerpaby/public_html/core/components/getproducts/model/getproducts.class.php : 667) [INFO] getProducts: total = 4 - SELECT `sc`.*, (SELECT `value` FROM `modx_site_tmplvar_contentvalues` WHERE `tmplvarid` = '5' AND `contentid` = `sc`.`id` LIMIT 1) AS `price`
        FROM `modx_site_content` `sc`
        WHERE `sc`.`parent` IN (3,12,13,14,16,17,23,24)
AND `sc`.`published` = 1 AND `sc`.`deleted` = 0
AND `sc`.`context_key` = 'web' AND (`sc`.`isfolder` = :isfolder01)

AND `sc`.`id` IN (
        SELECT `tvc`.`contentid`
        FROM `modx_site_tmplvar_contentvalues` AS `tvc`,
             `modx_site_tmplvars` AS `tv`
        WHERE `tv`.`id` = `tvc`.`tmplvarid`AND `tv`.`name` = :tvname0 AND (CAST(`tvc`.`value` AS DECIMAL(10,2)) >= :tvvalue01)
AND `tvc`.`contentid` IN
    (
        SELECT `tvc`.`contentid`
        FROM `modx_site_tmplvar_contentvalues` AS `tvc`,
             `modx_site_tmplvars` AS `tv`
        WHERE `tv`.`id` = `tvc`.`tmplvarid`AND `tv`.`name` = :tvname1 AND (CAST(`tvc`.`value` AS DECIMAL(10,2)) <= :tvvalue11)
    )
)
        ORDER BY CAST(`price` AS SIGNED) asc
        LIMIT 0, 6 
        
Array
(
    [0] => Array
        (
            [0] => isfolder01
            [1] => 0
            [2] => 2
        )

)

Array
(
    [0] => Array
        (
            [0] => tvname0
            [1] => price
            [2] => 2
        )

    [1] => Array
        (
            [0] => tvvalue01
            [1] => 13
            [2] => 2
        )

    [2] => Array
        (
            [0] => tvname1
            [1] => price
            [2] => 2
        )

    [3] => Array
        (
            [0] => tvvalue11
            [1] => 14
            [2] => 2
        )

)

[2016-07-18 09:08:27] (ERROR @ /home/nerpaby/public_html/core/components/getproducts/model/getproducts.class.php : 667) [INFO] getProducts: total = 4 - SELECT `sc`.*, (SELECT `value` FROM `modx_site_tmplvar_contentvalues` WHERE `tmplvarid` = '5' AND `contentid` = `sc`.`id` LIMIT 1) AS `price`
        FROM `modx_site_content` `sc`
        WHERE `sc`.`parent` IN (3,12,13,14,16,17,23,24)
AND `sc`.`published` = 1 AND `sc`.`deleted` = 0
AND `sc`.`context_key` = 'web' AND (`sc`.`isfolder` = :isfolder01)

AND `sc`.`id` IN (
        SELECT `tvc`.`contentid`
        FROM `modx_site_tmplvar_contentvalues` AS `tvc`,
             `modx_site_tmplvars` AS `tv`
        WHERE `tv`.`id` = `tvc`.`tmplvarid`AND `tv`.`name` = :tvname0 AND (CAST(`tvc`.`value` AS DECIMAL(10,2)) >= :tvvalue01)
AND `tvc`.`contentid` IN
    (
        SELECT `tvc`.`contentid`
        FROM `modx_site_tmplvar_contentvalues` AS `tvc`,
             `modx_site_tmplvars` AS `tv`
        WHERE `tv`.`id` = `tvc`.`tmplvarid`AND `tv`.`name` = :tvname1 AND (CAST(`tvc`.`value` AS DECIMAL(10,2)) <= :tvvalue11)
    )
)
        ORDER BY CAST(`price` AS SIGNED) desc
        LIMIT 0, 6 
        
Array
(
    [0] => Array
        (
            [0] => isfolder01
            [1] => 0
            [2] => 2
        )

)

Array
(
    [0] => Array
        (
            [0] => tvname0
            [1] => price
            [2] => 2
        )

    [1] => Array
        (
            [0] => tvvalue01
            [1] => 13
            [2] => 2
        )

    [2] => Array
        (
            [0] => tvname1
            [1] => price
            [2] => 2
        )

    [3] => Array
        (
            [0] => tvvalue11
            [1] => 14
            [2] => 2
        )

)

У getProducts есть только конвертация строки в целое число при сортировке. У TV все значения хранятся как строки. Попробуйте в файле "/core/components/getproducts/model/getproducts.class.php" строку (592):

$orderby_str .= "CAST(`{$this->config['sortbyTV']}` AS SIGNED)";

заменить на такую:

$orderby_str .= "CAST(`{$this->config['sortbyTV']}` AS DECIMAL(10,2))";

@Andchir спасибо, все работает, filters_simple.js вернул как и было строку

slider_steps: [10, 0.1],//Число единиц шага слайдера

Подскажите, как в фильтре поставить "Число единиц шага слайдера" только целые числа (чтобы не было дроби) ???
alt text

Сам разобрался)))) В файле filter.js просто поменял строчка
var slider_step = maxValue - minValue < 100 ? 0.1 : 1;

на
var slider_step = maxValue - minValue < 1 ? 1 : 1;

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.