Начиная с версии 2.3.5 невозможно обновить вариант продукта.
Проблема заключается в методе isEqual(ValueInterface $value)
в классе AbstractValue (src / Pim / Component / Catalog / Model / AbstractValue.php). Первое равное $this->getData() === $value->getData()
в строке 60 будет истинным, только если оба являются одинаковыми ссылками на один и тот же экземпляр одного и того же класса, чего не должно быть. Поэтому в этом случае вместо оператора идентичности следует использовать оператор сравнения.
Логическая ошибка была внесена в коммит 3e652c2820639e6b7192292644273bb2d97d2b85.
Привет @simonkey ,
Спасибо, что подняли эту проблему, не могли бы вы рассказать нам, как мы можем легко воспроизвести проблему?
Я пытался обновить варианты продуктов в нашей демонстрационной среде, и все работает нормально.
(Наш демонстрационный env теперь находится в версии 2.3.6).
Спасибо!
Это происходит на демо. Мы можем увидеть это здесь:
http://demo.akeneo.com/#/enrich/product/1240
Я уже обновился до 2.3.6, но это не исправило.
Привет @fjlenatz ,
Спасибо за хороший отчет. @LaureBro и я (по отдельности) пытались воспроизвести это в демо, но, похоже, все работает так, как мы и ожидали.
Может быть, мы не идем по тому же сценарию. Можете ли вы предоставить пошаговый сценарий демонстрации с вашими действиями и ожиданиями?
Спасибо.
Привет!
1) Создайте модель продукта LED TV и установите вариант LED TV.
2) Создайте продукт с этим вариантом.
3) Он будет создан, но когда вы попытаетесь его отредактировать или снова сохранить, вы увидите ошибку.
В продукте, который я отправил, прежде чем вы его увидите. Другой пример:
http://demo.akeneo.com/#/enrich/product/1242
В демонстрационном наборе по умолчанию это Модель продукта TV SAMSUNG (идентификатор samtv) из семейства «LED-телевизоры». При попытке обновить что-либо в одном из существующих вариантов возникает ошибка Вариант оси "display_diagonal", ... возникает, и продукт не может быть сохранен / обновлен.
Спасибо за подробности :) Сразу протестирую!
Действительно, теперь я могу воспроизвести это! Спасибо. Это может быть связано с типом атрибута, используемого в качестве оси вариантов. В настоящее время я вижу ошибку только в том случае, если тип - «метрический».
Да, похоже, что ошибка возникает только в том случае, если используется "метрика".
Я также подтверждаю, что это действительно ошибка, спасибо, что сообщили о ней!
Хотели бы вы внести свой вклад и исправить это?
Вот наше руководство по вкладу: https://docs.akeneo.com/2.3/contribute_to_pim/contribution_guide.html#how -to-submit-a-patch-to-the-pim
Дайте мне знать, если вы хотите устроить пиар, и если да, то если вам понадобится помощь.
Если вы не хотите участвовать, нет проблем, мы добавим эту проблему в наш трекер ошибок и исправим ее как можно скорее.
Привет, @simonkey , @fjlenatz ,
Эта проблема очень скоро будет решена нашей командой обслуживания, я удалил ее из проекта «Хочу внести свой вклад». Я буду держать вас в курсе.
Привет, @simonkey и @fjlenatz!
Вот PR с исправлением: https://github.com/akeneo/pim-community-dev/pull/8872
Он будет объединен в течение дня, и исправление будет доступно в следующем теге 2.3 :)
Хорошего дня !
Здравствуйте, эта проблема исправлена в последнем патче 2.3: 2.3.9.
Закрываю этот вопрос.
С уважением,
Лауре
Самый полезный комментарий
Действительно, теперь я могу воспроизвести это! Спасибо. Это может быть связано с типом атрибута, используемого в качестве оси вариантов. В настоящее время я вижу ошибку только в том случае, если тип - «метрический».