PHP7, MySQL 5.7 и miniShop2

Привет всем!

Перевёлся недавно на PHP7, MySQL 5.7 и заметил кучу странностей именно с miniShop2.

1. При пустых полях при сохранении сбрасываются заполненные, к примеру: заполнили артикул, цену, сохранили. После сохранение всюду нули. В логе ошибка, что поле старая цена пустое.

Мне попадалось, что эта проблема MySQL 5.7 с сохранением пустых полей, но решений не нашёл, разве что правкой mysql.cnf, да и то — решение для другого (GROUP BY)

sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Кто сталкивался и как решил?

2. При создании нового товара вручную источник файлов установлен в Filesystem, хотя должно стоять MS2 Images.

Как это пофиксить?
Stan Ezersky
25 февраля 2017, 08:46
modx.pro
1 559
0

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

Stan Ezersky
25 февраля 2017, 14:29
0
Лог забыл

[2017-02-25 13:27:15] (ERROR @ /home/path2site/public_html/core/xpdo/om/xpdoobject.class.php : 1452) Error HY000 executing statement:
INSERT INTO `modx_ms2_products` (`id`, `article`, `price`, `old_price`, `weight`, `vendor`, `made_in`, `new`, `popular`, `favorite`, `tags`, `source`) VALUES (63, '', '', '', '0', 0, '', 0, 0, 0, '[\"\"]', 2)
Array
(
    [0] => HY000
    [1] => 1366
    [2] => Incorrect decimal value: '' for column 'price' at row 1
)
    Stan Ezersky
    25 февраля 2017, 17:27
    0
    Из вышеуказанной строки

    sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    всё «ломает» STRICT_TRANS_TABLES

    В общем, как вариант, сделать так (в идеале методом исключения убирать параметры и смотреть логи):

    sql_mode = ""
    Если что, не забываем, что режимы у нас должны быть прописаны в секции [mysqld]
      Антон
      25 февраля 2017, 17:47
      0
      Оставьте так, должно помочь:
      sql_mode = "NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
        Stan Ezersky
        25 февраля 2017, 19:25
        0
        Спасибо, попробую.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        4