Тема: В чем ошибка? Комплектации товара.

Здравствуйте! Помогите пожалуйста разобраться в чем ошибка:
- завожу товар вручную
- создаю обычные комплектации (цена зависит от размера)
- здесь работает (цена меняется):http://bon.boutique/product/letniy-nabor-podguzniki--hlopkovye-trusiki/
- здесь нет: http://bon.boutique/product/letniy-nabo … e-trusiki/
Вроде бы все идентично. Пробовала и через клонирование и создавала полностью вручную - результат один и тот же.
Спасибо.

Повысить оценку Понизить оценку

2

Re: В чем ошибка? Комплектации товара.

Проблема, возникла потому что jquery не может корректно считать кавычку ("  из аттрибута dom элемента, чтобы затем распарсить json из него)
http://www.eq8.eu/blogs/12-json-array-i … -attribute

Решение:
Просто не используйте двойные кавычки в артикуле товара.

Повысить оценку Понизить оценку

Re: В чем ошибка? Комплектации товара.

Двойные кавычки нужно всегда в шаблонах переводить в нормальные символы.

Повысить оценку Понизить оценку

4

Re: В чем ошибка? Комплектации товара.

Дмитрий пишет:

Двойные кавычки нужно всегда в шаблонах переводить в нормальные символы.

если речь идет о JSON внутри атрибутов тега, то это не подходит.

data-change-cost='{ ".offerBarcode": "18 "GB"", ".myCost": "141 360 ", ".lastPrice": "0 "}'

если вы вместо " выведете "[обычную кавычку], JSON будет также сломан.

На удивление $(element).data('changeCost') - не может вернуть объект,
хотя если вы удалите " - будет возвращен объект. Вся проблема, в том, что в методе jQuery.data используется механизм примерно такого содержания: $.parseJSON( $(this).attr('data-change-cost') ), а $(this).attr('data-change-cost') - преобразует " в кавычки, тем самым ломает возможность дальнейшего парсинга JSON.

Повысить оценку Понизить оценку