Не отображаются заказы minishop2

Всем привет!
Кто нибудь знает что за баг такой? Просто время от времени пропадают все заказы из админки. Восстанавливаю бэкап предыдущим днем и все опять заводится, Хватает на неделю.



В консоли есть такие ошибки, может они виноваты?
(ERROR @ /home/i/papka/site.ru/public_html/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Template.php(487): eval()'d code: 47) PHP warning: A non-numeric value encountered

(ERROR @ /home/i/papka/site.ru/public_html/core/components/minishop2/processors/mgr/product/getlist.class.php: 240) PHP warning: count(): Parameter must be an array or an object that
Сергей
26 августа 2020, 16:16
modx.pro
904
0

Комментарии: 8

Сергей
28 августа 2020, 13:47
0
Господа, ну как решить проблему? я готов заплатить за исправление ошибки! Помогите!
    Артем
    28 августа 2020, 16:10
    0
    (ERROR @ /home/i/papka/site.ru/public_html/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Template.php(487): eval()'d code: 47)
    это не имеет отношения к проблеме, это в каком-то из твоих шаблонов ворнинг

    (ERROR @ /home/i/papka/site.ru/public_html/core/components/minishop2/processors/mgr/product/getlist.class.php: 240) PHP warning: count():
    а вот такого быть не должно — стоит заглянуть в процессор и посмотреть, почему там в count прилетает неверная переменная

    сама проблема со списком заказов похожа на это, но в твоем случае вроде счетчики работают
    я бы в первую очередь смотрел на то, что возвращает процессор заказов, а потом проследил бы логику его работы, гляди и проблема найдется
    еще загляни в консоль, может и вовсе проблема не серверная, а какой-нибудь js отвалился

    P.S. по внезапному совпадению, у меня на одном из проектов тоже отваливается список заказов, если отсортировать по покупателю, на твоем скрине именно так и сделано, поэтому попробуй поменять сортировку, авось у тебя тот же кейс
    пока что я еще не смотрел, почему так происходит, вероятно, виноват какой-нибудь сторонний компонент
      Роман
      28 августа 2020, 16:25
      0
      Смотреть нужно, возможна проблема в базе. Пишите на nokerka[at]ya.ru помогу.
        Артем
        28 августа 2020, 16:49
        1
        +2
        В общем, это баг miniShop2, в последних версиях отрефакторили процессор получения заказов и чего-то намудрили с выборкой. Во-первых, зачем-то используется название поля customer вместо fullname, которое указано в схеме таблицы. Во-вторых, именно по этой причине выборка ломается, потому что поля customer в таблице нет, а альяс для него не указан.
        Быстрое решение в 1 строку — заменить эту строку на
        $q->query['columns'] = ['SQL_CALC_FOUND_ROWS msOrder.id, fullname as customer'];
        Теперь для fullname есть альяс и выборка ломаться не будет.
        А по-хорошему надо это нормально отрефакторить.
        Попозже закину issue или PR.
          Александр Мельник
          28 августа 2020, 18:06
          0
          просто мимо проходил, но мое вам уважение, что так вникли и постарались помочь человеку.
            Сергей
            14 сентября 2020, 10:59
            0
            Вау! вот это ответ! спасибо большое, я даже не ожидал такого развернутого ответа
            Артем
            28 августа 2020, 17:16
            0
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            8