Skip to content

fix: приведение типов для extra fields в msProductData#170

Merged
biz87 merged 2 commits intobetafrom
fix/numeric-extra-fields-cast
Mar 27, 2026
Merged

fix: приведение типов для extra fields в msProductData#170
biz87 merged 2 commits intobetafrom
fix/numeric-extra-fields-cast

Conversation

@biz87
Copy link
Copy Markdown
Member

@biz87 biz87 commented Mar 27, 2026

Summary

  • При сохранении товара с decimal/int/tinyint Extra Fields (например wholesale_price) пустая строка из формы вызывала MySQL ошибку Incorrect decimal value: '' for column
  • Из-за этого msProductData::save() возвращал false, и saveCategories() / saveOptions() / saveLinks() молча не выполнялись — пользователь терял дополнительные категории без какой-либо ошибки в UI
  • Заменяет хардкод каста price/old_price/weight на универсальный цикл по _fieldMeta, покрывающий все поля включая Extra Fields (float, integer, boolean)

Test plan

  • Создать Extra Field с типом decimal (например wholesale_price)
  • Открыть товар, оставить это поле пустым, отметить дополнительные категории
  • Сохранить — категории должны сохраниться, ошибок в логе быть не должно
  • Проверить что стандартные поля (price, old_price, weight) по-прежнему корректно кастятся

🤖 Generated with Claude Code

biz87 added 2 commits March 27, 2026 20:10
…Data

Пустая строка из формы для decimal/int/tinyint колонок вызывала
MySQL ошибку "Incorrect decimal value", из-за чего save() возвращал
false и категории/опции/ссылки молча не сохранялись.

Заменяет хардкод каста price/old_price/weight на универсальный
цикл по _fieldMeta, покрывающий все поля включая Extra Fields.
- Исключаем id из итерации чтобы не помечать его dirty (AUTO_INCREMENT)
- Выносим get() перед ветвлением по типу
- Обновляем docblock
@biz87 biz87 merged commit b14bcb0 into beta Mar 27, 2026
@biz87 biz87 deleted the fix/numeric-extra-fields-cast branch March 27, 2026 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant