- Дефектные версии: дефекту подвержены все версии Magento Community Edition и Magento Enteprise Edition.
- Контекст дефекта: отображение витринных страниц при включенном режиме слияния файлов CSS.
- Описание дефекта:
- Когда какой-либо из файлов CSS интернет-магазина содержит схему «data: URL», взятую в кавычки, то при включенном режиме слияния файлов CSS Magento Community Edition и Magento Enteprise Edition некорректно обрабатывает схему «data: URL» и синтаксически повреждает создаваемый объединённый файл CSS таким образом, что браузер отказывается воспринимать правила CSS со схемой «data: URL».
Пример правила CSS со схемой «data: URL», которое в Magento CE / EE при включенном режиме слияния правил CSS перестанет работать:
.tm_subbanner li img:hover{background: url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iM3B4IiB2aWV3Qm94PSIwIDAgNiAzIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2IDMiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxwb2x5Z29uIHBvaW50cz0iNS45OTIsMCAyLjk5MiwzIC0wLjAwOCwwICIvPjwvc3ZnPg==") no-repeat;}
- Более того, если внутри схемы «data: URL» используются кавычки, то система повреждает создаваемый объединённый файл CSS настолько, что браузер отказывается воспринимать ВСЕ правила CSS, которые следуют в объедининённом файле CSS после правила со схемой «data: URL».
Пример правила CSS со схемой «data: URL», которое в Magento CE / EE при включенном режиме слияния правил CSS сломает все последующие правила CSS:
.tm_subbanner li img:hover{filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); }
- Когда какой-либо из файлов CSS интернет-магазина содержит схему «data: URL», взятую в кавычки, то при включенном режиме слияния файлов CSS Magento Community Edition и Magento Enteprise Edition некорректно обрабатывает схему «data: URL» и синтаксически повреждает создаваемый объединённый файл CSS таким образом, что браузер отказывается воспринимать правила CSS со схемой «data: URL».
Способ устранения дефекта:
Российская сборка Magento, начиная с версии 2.35.6, способна корректно обрабатывать схемы «data: URL» при включенном режиме слияния файлов CSS.
Для устранения дефекта достаточно просто обновить интернет-магазин.