Последние темы


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

  • @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;

 

Последние комментарии

  • У меня почему то не получилось прикрутить эту штуку.

    Что конкретно не получилось? Какие-то ошибки?

    Там вроде как зависимость от компонента http://angular-ui.github.io/bootstrap/
    Но вроде он и используется, но, возможно, какая-то старая версия.

    Читать далее
  • N

    @Andchir Спасибо, но это немного не то.
    Задача такая - менеджер должен выставлять промежуток времени, когда клиенту удобно принять доставку.
    Т.е. надо прикрутить что то типа этого https://rgkevin.github.io/datetimeRangePicker/#/home
    Чтобы можно было выбирать и вилку дней и промежуток по времени.
    У меня почему то не получилось прикрутить эту штуку.

    По сохранению сложностей не возникло, т.е. проблема только с UI

    Читать далее
  • https://github.com/andchir/shopkeeper3/blob/master/core/components/shopkeeper3/templates/home.tpl
    Шаблон редактирования заказа здесь обозначен комментарием

    <!-- order_edit -->

    Нужно добавить поле в форму. Пример:

    <input type="date" ng-model="data.order.date">

    В "ng-model" указывается имя поля в заказе.
    Если это новое поле, то сохранять его нужно здесь
    https://github.com/andchir/shopkeeper3/blob/master/core/components/shopkeeper3/processors/mgr/saveorder.class.php

    Читать далее
  • N

    @Andchir извиняюсь, забыл что не на битве экстрасенсов)
    Версия старенькая - 3.2.5-pl. С таким количеством нововведений обновлять просто уже нельзя.

    Читать далее