@Andchir А как посмотреть? До этого просто проблем не возникало)
tagManager2, проблема с сортировкой дробных чисел
В наборе параметров включить debug и посмотреть запросы в журнале ошибок (пора бы его назвать просто "консоль").
http://wiki.modx-shopkeeper.ru/doku.php?id=getproducts
До этого просто проблем не возникало)
До чего "этого"?
(
[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],//Число единиц шага слайдера