Проблемы исправленные в Magento 2.3.3

Проблемы исправленные в Magento 2.3.3

Magento Open Source 2.3.3 предлагает значительные обновления платформы, существенные изменения безопасности и Payment Services Directive (PSD2) -совместимые основные способы оплаты. Этот релиз содержит в себе более 170 функциональных изменений и более 75 улучшений безопасности. Он включает в себя более 200 исправлений от участников сообщества разработчиков Magento. Эти правки варьируются от незначительной очистки основного кода до значительных улучшений в Inventory Management и GraphQL. Если вы уже выполнили обновление до предварительной версии этого патча (2.3.2-p1), настоятельно рекомендуется обновится до 2.3.2-p2 как можно скорее.

Список исправлений в Magento 2.3.3

Installation, upgrade, deployment

  • —lock-env версии —lock-env и —lock-config bin/magento config:set теперь работают как положено.
  • Magento теперь отображает сообщение об исключении, когда возникает ошибка во время развертывания статического контента. Ранее, если произошла ошибка, Magento показывал только трассировку стека.
  • Теперь вы можете использовать JSON, чтобы установить значение конфигурации для параметра конфигурации через командную строку.
  • Модульные тесты PHP больше не дают сбой по умолчанию, когда Magento установлен из Composer.
  • Удален устаревший файл system.xml из каталога app/code/Magento/Theme/etc
  • Magento теперь отображает более информативное сообщение, когда исправление данных не может быть применено из-за исключения.
  • Индикатор выполнения развертывания статического контента теперь работает как положено.
  • Команда setup:upgrade теперь выдает исключение, если команда app:config:import не выполняется.
  • Поля, которые были отключены с помощью параметров конфигурации ( Admin > Stores > Configuration > General > General > Store Information ), больше не могут быть перезаписаны администратором.
  • Процесс установки Magento больше не проверяет наличие расширений dev php файлах composer.json без полномочий root.
  • Параллельное выполнение статического развертывания контента было улучшено, чтобы предотвратить ошибки и сделать его более стабильным.
  • Magento теперь выполняет дополнительную проверку при определении алгоритма хеширования пароля, который будет использоваться библиотекой libsodium, чтобы проверить, поддерживает ли она argon2id . Команда bin/magento не будет выполнена успешно, если используемая вами версия libsodium не поддерживала argon2id .

Backend

  • Панель администратора Magento теперь загружается без проблем после изменения домена магазина или установки файлов cookie на другой домен. Ранее страница не перенаправлялась, как ожидалось.
  • Панель администратора больше не отображает неправильные коды валют, когда базовая валюта по умолчанию отличается от валюты веб-сайта по умолчанию.
  • В раскрывающемся меню магазина больше не отображаются ненужные символы.

Bundle products

  • Теперь вы можете успешно проверять пакетные продукты, используя метод оплаты Braintree с методом оплаты, установленным на Authorize and Capture .
  • Скидочные купоны теперь работают, как и ожидалось, для комплектных продуктов, которые включают в себя как виртуальные, так и простые продукты, если для параметра Ship Bundle Items установлено значение Separately .

Cache

  • Поддержка кэша Varnish была обновлена ​​для совместимости с версией 6.2.0.
  • Magento теперь отображает простые продукты на витрине магазина после отмены заказа, содержащего простой продукт в комплекте. Ранее товары не появлялись на витрине магазина после отмены заказа, содержащего комплектный товар, к которому относится простой товар.
  • При проверке работоспособности Varnish больше не происходит наличие id_prefix в env.php . Ранее Varnish возвращал ошибку 503 Backend fetch failed .

Cart and checkout

  • REST требует добавления элемента в корзину ( POST V1/guest-carts/:cartId/items и POST V1/guest-carts/:cartId/items ) теперь включает цену продукта, когда вызов возвращает продукт из уже заполненного корзина. Ранее цена товара не возвращалась, если та корзина была опустошена до совершения звонка.
  • Magento теперь отправляет заказ только один раз, когда заказ отправляется с помощью Enter . Ранее Magento отправляла несколько запросов на payment-information , и было размещено несколько заказов с одинаковым идентификатором котировки.
  • Продукты, добавленные в корзину через REST, теперь отображают правильные цены. Ранее в корзине покупок отображались нулевые цены.
  • Magento теперь отображает информационное сообщение, когда выдается ошибка после сброса подключения пользователя к Интернету после размещения заказа.
  • Теперь вы можете добавить количество товаров, для которого требуется четыре цифры, в корзину. Ранее Magento не могла добавить четырехзначные числа количества товара в корзину.
  • Администраторы с соответствующими разрешениями теперь могут просматривать содержимое корзины для зарегистрированного клиента из интерфейса редактирования клиента Admin.
  • Magento теперь применяет настройки сортировки, которые вы задали в настройках области веб-сайта для определенного веб-сайта, к макету страницы оформления заказа. Ранее порядок сортировки элементов этой страницы был получен из конфигурации по умолчанию, а не из значений, специфичных для веб-сайта.
  • В разделе «Проверка и оплата» одностраничного оформления заказа больше не отображается пользовательский код атрибута клиента при выезде гостя.
  • Сводка заказа теперь отображает правильное количество заказанных товаров.
  • Загрузчик мини-карты теперь виден при добавлении продукта в мини-карту.
  • Magento больше не выдает ошибку преобразования массива в строку, когда клиент меняет настройку страны с одностраничной проверки. Вместо этого способ доставки, налоговые значения и поставщики платежей теперь меняются в зависимости от выбора страны. Ранее Magento отображал ошибку о преобразовании массива в строку.
  • Magento теперь проверяет номер НДС, как и ожидалось во время оформления заказа, когда поле области адреса клиента пусто. Ранее Magento выдал информационную ошибку: Internal Error. Details are available in Magento log file Internal Error. Details are available in Magento log file если regionId не был установлен.
  • Magento теперь создает счет-фактуру для заказа с нулевой промежуточной суммой, если для параметра Автоматически выставлять счета-фактуры для всех элементов установлено значение Да .

Cart Price rules

  • Коды купонов теперь работают как положено. Ранее купоны, отправленные на определенные даты в правиле цены корзины, не применялись.

Catalog

  • Теперь вы можете использовать опцию Выбрать все при создании действия массового обновления, когда общее количество продуктов превышает количество отображаемых продуктов на странице. Ранее Magento только выбирал и применял действия массового обновления к количеству продуктов, отображаемых на странице.
  • Magento больше не выдает ошибку при запуске php bin/magento catalog:images:resize команда в развертывании, содержащем образы с нулевым байтовым размером. Вместо этого операция пропускает поврежденный файл и обновляет файл журнала, чтобы указать, где находится проблемный файл.
  • Теперь вы можете успешно клонировать продукт со связанным продуктом. Ранее клонирование не удавалось, и Magento отображал эту ошибку: The linked products data is invalid. Verify the data and try again The linked products data is invalid. Verify the data and try again .
  • Magento отключает кнопку « Новая категория» на странице «Продукт», если пользователь является администратором с ограниченными правами на управление категориями. Ранее кнопка была активна, и Magento выдавал ошибку 403, если пользователь с ограниченными правами нажал кнопку, чтобы создать категорию.
  • Таблица «Заказанные товары» (Admin > Sales > Orders ) больше не отображает суммы скидок на опции комплектации с тегами.
  • Magento теперь создает изображения с измененным размером для всех продуктов, для которых существуют изображения, и перечисляет ошибки при запуске команды php bin/catalog:image:resize . Ранее выполнение остановилось на первом отсутствующем изображении.
  • Теперь вы можете добавить пакет товаров из списка желаний в вашу корзину. Ранее Magento бросил роковую ошибку.
  • Операция \Magento\Catalog\Model\CategoryList::getList теперь возвращает отсортированный список категорий, как и ожидалось.
  • Страница редактирования продукта администратора и страница клиентов теперь загружаются без ошибок JavaScript.
  • Дублированный продукт, для которого было установлено «На складе» и « Включен», теперь отображается в магазине, как и ожидалось.
  • Цены пользовательских опций, которые назначены области действия веб-сайта, больше не переписывают цены во всех областях.
  • Видео в описаниях продуктов теперь отображаются так же, как и в редакторе Admin WYSIWYG. Ранее у видео в описаниях товаров на витрине магазина была неправильная высота.
  • Образцы данных теперь корректно масштабируются при изменении размера в мобильном представлении.
  • Клиенты больше не получают уведомления о продуктах после того, как они отписались от уведомлений о продуктах. Ранее оповещение о товаре не было удалено из таблицы product_alert_stock как ожидалось, но Magento по-прежнему отображало это сообщение в витрине магазина: вы больше не будете получать оповещения о наличии товара для этого товара .
  • Magento больше не назначает идентификатор магазина сохраненному продукту, который не назначен магазину.
  • Исправлены ошибки в lib/web/css/docs/source/_actions-toolbar.less и lib/web/css/docs/source/_layout.less .
  • Magento теперь отображает код валюты, как и ожидалось, в столбце «Стоимость» в списке продуктов каталога администратора.
  • Кнопка « Добавить в корзину» больше не видна пользователям, у которых нет разрешений категории «Добавить в корзину». Ранее гостевые пользователи могли добавлять товары в корзину, не получая разрешения «Добавить в корзину».
  • Мы уточнили, как Magento проверяет частичные разрешения. Разрешения на редактирование проекта для категорий, продуктов и страниц CMS теперь проверяются для каждой конечной точки (веб-API и др.) Вне связанных классов уровня модели. Веб-API теперь возвращает ошибку, когда поля, связанные с дизайном, переопределяются. Ранее такое поведение игнорировалось.
  • Доступность продукта больше не связана с событиями, связанными с категориями, к которым они относятся. Вместо этого Magento теперь использует текущее событие категории для страницы, на которой отображается продукт. Ранее товары, которые были привязаны к категориям без событий, можно было купить, а товары, которые были привязаны к событиям с истекшим сроком действия, нельзя было купить.
  • Magento теперь переименовывает изображения с таким же именем в pub/media/catalog/category . Ранее изображения с одинаковыми именами, относящиеся к разным категориям, не загружались должным образом.
  • Теперь Magento отображает предупреждение о проверке, когда вы нажимаете кнопку Добавить атрибут , а затем нажимаете кнопку Добавить выбранное без предварительного выбора атрибута. Ранее, когда вы нажимали кнопку Добавить выбранное , Magento выбирал все возможные атрибуты.
  • Фильтр продуктов каталога теперь фильтрует включенное или отключенное состояние, как и ожидалось. Ранее в SQL, создаваемом классом Magento\Catalog\Ui\DataProvider\Product\ProductCollection отсутствовало условие attribute_id , в результате которого любой атрибут того же типа (например, int или varchar ) соответствовал запросу, если значения были одинаковыми. ,
  • ProductRepository теперь обновляет и сохраняет существующие продукты с измененными SKU, как и ожидалось. Ранее Magento выдавал ошибку, и вы не смогли сохранить продукт.
  • Теперь вы можете изменить положение двух последних связанных продуктов в списке связанных продуктов, который занимает несколько страниц. Ранее функция перетаскивания позволяла изменять только положение товаров на текущей странице.
  • Кнопка « Выбрать из галереи» на странице редактирования категории теперь работает должным образом. Ранее изображение не было сохранено, и Magento не отображал изображение в окне предварительного просмотра.

CatalogInventory

  • Состояние (в наличии или в наличии) настраиваемого продукта в Admin теперь соответствует состоянию, отображаемому в витрине магазина.
  • Теперь Magento корректно обновляет значение sales_order_item таблице sales_order_item после создания заказа, содержащего элемент с sales_order_item .
  • Записи о состоянии запасов для всех продуктов теперь добавляются, как и ожидалось, в таблицу cataloginventory_stock_status после частичной повторной индексации.

Catalog rule

  • Модуль CatalogRule теперь обрабатывает расхождения между смещением часового пояса Magento и смещением часового пояса системы (в UTC). Ранее, когда смещение часового пояса Magento было больше, чем смещение системного часового пояса, активные диапазоны, установленные для специальных цен, были неточными. Это является следствием того, как правила цены каталога сохраняют и обновляют специальные цены. (Правила цены каталога специальные цены хранятся в таблице catalogrule_product_price . Ежедневное обновление этой таблицы запускается заданием catalogrule_apply_all cron, которое запланировано на 01:00 каждый день. Время расписания Cron запланировано в часовом поясе Magento.)

Cleanup and simple code refactoring

  • Исправлено неправильное позиционирование меню «Магазин по» на страницах продукта в мобильном представлении на iPhone 5.
  • Исправлено смещение значков «Список пожеланий» и «Сравнить» на странице товара.
  • Ярлыки, специфичные для вида магазина, больше не усекаются в левом навигационном меню окна «Вид корзины с определенным ярлыком магазина правил» ( Marketing > Cart Price rule > Labelsи ).
  • Добавлен отсутствующий заголовок в таблицу «Заказ клиента» и исправлено несколько опечаток.
  • Улучшено неудобное форматирование страницы создания учетной записи клиента в мобильном представлении.
  • Флажок в форме добавления нового налогового правила был изменен в соответствии с флажком администратора.
  • Исправлена ​​опечатка в CONTRIBUTING.md.
  • Исправлено неправильное расстояние в разделе «Подарочные сообщения» на странице «Моя учетная запись».
  • Знак звездочки, обозначающий обязательное поле, теперь последовательно размещается по всему администратору.
  • Исправлена app/code/Magento/Ui/Block/Wrapper.php файле app/code/Magento/Ui/Block/Wrapper.php .
  • Исправлена ​​опечатка в переключателе подсказок.
  • Исправлено смещение счетчиков «Сравнить товары» и «Мой список пожеланий» на боковой панели.
  • Исправлено поведение прокрутки на странице продукта. Ранее, после того, как вы щелкнули счетчик отзывов на странице продукта, вам нужно было прокрутить, чтобы увидеть отзывы клиентов.
  • Magento теперь отображает курсор справа от поля поиска ключевых слов, как и ожидалось, после нескольких кликов в поле поиска в мобильном представлении.
  • Изменен заголовок страницы соглашения об оплате.
  • Меню «По магазинам» больше не накладывается на ярлык « Сортировать по» на странице со списком товаров.
  • Отрегулировано положение метки представления магазина в Admin > Content > Design > Configuration > Theme .
  • Исправлена ​​проблема с пробелами в Admin > Система > Импорт .
  • Исправлена ​​ошибка в app/code/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Attributes/Extend.phpфайле.
  • Удален ненужный <span>элемент с кнопки « Проверить соединение» .
  • lib/internal/Magento/Framework/Mview/View.phpФайл был переработан для улучшения читаемости.

CMS content

  • Исправлено выравнивание панели предложений поиска с помощью кнопки « Предварительная отчетность» .
  • Теперь вы можете удалить текст, который находится рядом с виджетом TinyMCE4.

Configurable products

  • Magento теперь проверяет уникальность значений параметров атрибута при создании продукта. Ранее Magento не спасло продукт и выводится сообщение об ошибке: The value of Admin must be unique.
  • Дизайн флажка формы налогового правила теперь соответствует дизайну флажка администратора.
  • Настраиваемая галерея продуктов теперь отображает изображения в правильном порядке, если в списке изображений более 10 изображений. Правильный порядок соответствует порядку, назначенному в Admin.
  • Теперь вы можете использовать POST V1/configurable-products/:sku/childвызов, чтобы назначить позиции настраиваемым атрибутам продукта, как и ожидалось. Ранее, когда вы использовали REST для назначения позиций настраиваемым атрибутам продукта, значение позиции было перезаписано после того, как вы связали простые продукты с настраиваемым продуктом.
  • Установка обновления продукта Preview Image , чтобы не в настоящее время не работает , как ожидалось. Ранее, когда вы щелкали по размеру или изображению, которое представляло другой вариант для конфигурируемого продукта, Magento отображало изображение для одного из простых продуктов, связанных с конфигурируемым продуктом.
  • Теперь POST V1/configurable-products/:sku/optionsвызов добавляет параметры атрибута в настраиваемый продукт, как и ожидалось. Это решает проблемы , вызванные ранее таблицами MySQL навязывания уникального ограничения на product_idи attribute_idзначение.

Coupon

  • Кнопка « Применить» теперь работает должным образом, когда вы создаете новый заказ и применяете купон от администратора. Ранее нажатие кнопки « Применить» удаляло купон вместо его применения.

Cron

  • Обработка исключений во время выполнения для заданий cron была улучшена. Теперь, когда возникает исключение, текущий прогон помечается как неудачный в cron_scheduleтаблице. Затем, когда следующий запуск завершится правильно, Magento обновляет статус задания в конце cron_scheduleтаблицы. Ранее при сбое задания cron_scheduleтаблица заполнялась отложенными заданиями; indexer_update_all_viewsработа не была запущена; в var/log/cron.logфайл не были отправлены выходные данные , и к cron_scheduleтаблице не было добавлено никаких обновлений статуса .
  • Задания Cron больше не дублируются. Ранее, после запуска задания cron, Magento очищал кеш и снова обрабатывал задание.
  • Потребители бегут от того, чтобы cronбольше не создавать взаимоблокировки в базе данных.
  • magento_newrelicreporting_cronХрон успешно завершает , как и ожидалось. Ранее, magento_newrelicreporting_cronбросил эту ошибку: Warning: Invalid argument supplied for foreach() in /var/www/shop_test/src/www/vendor/magento/module-configurable-product/Model/ResourceModel/Product/Type/Configurable/Product/Collection.php on line 83.

Customer

  • Настраиваемые атрибуты адреса клиента заполняются значениями, которые были назначены для выбранного адреса, когда параметр « Тот же адрес выставления счета» отключен. Ранее, когда продавец пытался изменить адрес при создании заказа от администратора, раскрывающееся меню доступных адресов не заполнялось.
  • Список состояния учетной записи теперь обновляется, как ожидается, чтобы правильно указывать состояние блокировки учетной записи после cronзапуска. Ранее этот список отображался только как разблокированный.
  • Теперь проверки импорта успешно завершаются, когда файл CSV содержит genderполе клиента . Ранее Magento бросил эту ошибку: Value for gender attribute contains incorrect value, see acceptable values on settings specified for Admin in row(s): 1.
  • Пользовательские атрибуты клиента теперь всегда отображаются в формах создания и редактирования клиента Admin. Ранее администратор не отображал эти атрибуты, если они не были настроены для отображения в формах регистрации клиента или редактирования учетной записи клиента.
  • Теперь вы можете создать заказ от администратора, если у вас есть сегмент клиентов для клиентов с 0 или более заказами. Ранее, если у вас был сегмент клиентов для клиентов с 0 или более заказами, при попытке создать заказ в Admin была ошибка SQL.
  • Теперь вы можете создать заказ от администратора с клиентским сегментом на основе нуля или более заказов, и указывается префикс таблицы. Ранее Magento выдавал ошибку, когда вы пытались создать заказ от администратора при этих условиях.
  • Поле « Номер телефона» теперь помечено как обязательное на странице «Моя учетная запись».
  • Magento больше не отображает редактируемые текстовые поля для телефонных номеров клиентов и почтовых индексов, если клиенты не сохранили адрес.
  • Magento больше не дублирует поля штата / провинции в адресах клиентов в административных формах.
  • Недавно созданные учетные записи клиентов теперь требуют подтверждения. Ранее Magento непосредственно подтверждал новую учетную запись, даже если клиент никогда не входил в систему и не подтверждал учетную запись.

Custom customer attributes

  • Пользовательские значения атрибута адреса клиента заполняются, как и ожидалось, когда администратор меняет адрес клиента во время создания заказа от администратора. Ранее раскрывающийся список пользовательских атрибутов был пустым.
  • Теперь вы можете редактировать адрес клиента из Admin ( Admin > Клиент > Адрес > Редактировать адрес ), когда атрибут адреса клиента имеет тип fileили image. Ранее Magento не отображал форму «Изменить адрес», когда вы нажимали кнопку « Изменить адрес» .

Database media storage

  • Файл логотипа PDF теперь поддерживает базу данных. Следовательно, изображения логотипов всегда появляются в счетах PDF, даже после pub/mediaочистки локального каталога.
  • Теперь bin/magento catalog:images:resizeкоманда работает в режиме базы данных, носителя, хранилища. В результате изображения с измененным размером теперь извлекаются из базы данных, если они не существуют локально до изменения размера, и теперь сохраняются обратно в базу данных после завершения операции изменения размера.
  • Флажок « Использовать значение по умолчанию» в параметре конфигурации «Расположение хранилища мультимедиа» был удален. Ранее подпрограммы JavaScript на странице мешали этой опции, и, следовательно, флажок мог быть включен, но все еще игнорировался.
  • Транзакционная электронная почта теперь копирует настроенное изображение логотипа электронной почты из базы данных, когда файл логотипа не существует в локальном pub/mediaкаталоге. Ранее в электронных письмах использовался логотип LUMA по умолчанию, если он не существовал в локальном каталоге.
  • Теперь Magento копирует любое изображение, необходимое для страницы редактирования продукта администратора, из базы данных в локальное хранилище по мере необходимости. Ранее, если изображение не было в локальном хранилище, Magento использовал изображение-заполнитель.

Directory

  • Раскрывающийся список стран больше не содержит посторонний ноль (0), если разрешенные страны в списке отличаются от стран, определенных в качестве главных пунктов назначения.

Downloadable products

  • Загружаемые продукты теперь доступны сразу после их оплаты. Ранее статус загружаемого продукта оставался в состоянии ожидания после завершения оплаты за продукт.
  • Новые загружаемые продукты теперь отображаются в разделе «Загружаемые продукты» после того, как клиент зарегистрировался как гость, а затем создал учетную запись.

EAV

  • Начальный и конечный пробелы теперь обрезаются по номерам телефонов перед проверкой JavaScript. Ранее Magento не обрезать эти пробелы и отображается сообщение об ошибке: *Phone Number* contains non-numeric characters.
  • Теперь вы можете сохранить множественный выбор и выбрать параметры атрибута, когда модули образцов отключены.

Email

  • Письмо, созданное с использованием CSS-насыщенного шаблона, теперь успешно отправлено. Ранее эти письма были отклонены сервером с этим сообщением: Message too big.
  • Вкладка «Просмотр шаблона» теперь загружается с содержимым по умолчанию, которое было назначено при создании шаблона электронной почты для новой отправки, как и ожидалось. Ранее на вкладке «Просмотр шаблона» не загружалось содержимое по умолчанию.
  • Все электронные письма теперь отправляются с правильной кодировкой MIME.

Frameworks

  • Компоненты Zend Framework 2 были обновлены до версий Active / LTS. Посмотрите для обсуждения политики долгосрочной поддержки Zend Framework.
  • equalArraysФункция в lib/web/mage/utils/compare.jsфайле была переработана , чтобы удалить квадратичную сложность. Ранее эта функция значительно замедляла операции администратора, которые выполнялись с большим количеством продуктов (например, добавление продукта в категорию по SKU).
  • Производительность операций изменения размера изображения была улучшена. Ранее задействованная в процессе операция SQL возвращала избыточные данные, что приводило к многократному сохранению изображений.
  • Сообщение об ошибке, которое Magento отображает, когда пользователь создает атрибут, начинающийся с зарезервированного слова container, было улучшено. Например, когда пользователь создал атрибуты продукта с именем container_attributenameи attributename, Magento выдал эту ошибку: Exception in Magento/Framework/View/Element/UiComponentFactory.phpвместо того, чтобы указать, какое поведение пользователя вызывало системную проблему.
  • В Magento Framework API теперь есть менеджер модулей для обнаружения функций модулей и поддержки включения сторонних модулей.

JavaScript framework

  • Курсор в поле электронной почты на странице входа в систему теперь работает должным образом при запуске Magento в Safari. Ранее курсор неоднократно перемещался в конец поля адреса электронной почты, когда вы пытались редактировать это поле.
  • Magento теперь отображает ранее отсутствующие сообщения проверки на витрине магазина, когда ошибки JavaScript обнаруживаются скриптами проверки в элементах формы DatePicker.

General fixes

  • Теперь Magento отображает правильное содержимое для выбранного магазина в развертываниях на нескольких сайтах, где веб-сайты имеют одинаковый URL-адрес, но страницы CMS имеют разное содержимое.
  • Включение продукта теперь очищает полностраничный кеш для PDP, если продукт не назначен категории.
  • Флажок « Сохранить в адресной книге» в разделе «Адрес доставки» на странице «Создание заказа администратора» теперь работает должным образом. Когда этот флажок включен, адрес в поле Адрес доставки сохраняется, и продавцы могут отключить или включить флажок
  • Обновлены тип и формат для всех store_nameполей, используемых в модулях Sales и Quote. Все поля теперь являются типом, textа не типом varchar, а длина поля была расширена до 255 символов.
  • Предварительная загрузка шрифтов была перемещена из темы «Пустой» в тему «Luma».
  • Magento больше не включает отмененные заказы при подсчете количества использованного кода купона.
  • Code Sniffer больше не помечает правильно выровненные элементы DocBlock как нарушения стиля кода.
  • Цены уровня теперь могут быть значениями с плавающей запятой. Ранее Magento конвертировал значения в процентах с плавающей запятой intперед сохранением.
  • Полный кеш страниц работает как положено для нестандартных представлений магазина.
  • Magento больше не создает сеанс постоянной корзины для зарегистрированных пользователей, когда функция постоянной корзины отключена. Ранее Magento не очищал корзины для пользователей, когда пользователь выходил из системы.
  • Неиспользуемый импорт пространства имен был удален из CartTotalRepository.phpфайла.
  • Письма с предупреждением о наличии на складе, которые Magento рассылает как оптовым, так и обычным покупателям, теперь включают соответствующие оптовые и общие цены на продукцию.
  • Сценарий MsrpSampleDataустановки модуля больше не генерирует неверные данные. Ранее этот сценарий установки не устанавливал какие-либо данные из осветителей из-за неправильных зависимостей между примерами модулей данных.
  • Добавлены всплывающие подсказки к меткам представления магазина для таблиц и блоков CMS.
  • Проверка max-wordданных теперь работает как ожидается для форм.
  • Теперь Magento подписывает клиента на уведомление о цене или акциях, когда они решают подписаться на оповещение о цене или акциях на странице продукта без предварительного входа в систему. Ранее Magento перенаправляла клиента на страницу 404.
  • Функция sendfriend теперь проверяет видимость продукта, как и ожидалось. Ранее эта функция проверяла только статус продукта.
  • В поиске больше не пропущен aria-expandedобязательный атрибут. Ранее валидатор HTML W3C выдавал ошибки для #searchэлемента.
  • Флажки « Использовать значение по умолчанию» во всплывающем окне «Дополнительные цены» теперь остаются отмеченными как в специальные даты начала, так и в специальные даты, и отображают значения, заданные в области «Все хранилище».
  • Функция «Недавно просмотренные» теперь точно отображает список продуктов и путей категорий, которые недавно посетил пользователь. Ранее этот список был неточным, когда параметр Использовать путь к категориям для URL-адресов продуктов был отключен.
  • Ссылка « Будьте первым, кто просмотрит продукт» теперь направляет пользователя к форме обзора продукта в нижней части страницы продукта, как и ожидалось в развертываниях, включающих PageBuilder.
  • Теперь вы можете установить значения минут для сбора данных Google Analytics (« Магазин» > « Конфигурация» > « Общие» > « Расширенные отчеты» ). Ранее из-за более раннего исправления, которое теперь было отменено (см. ), проверка не удалась, когда вы установили значение, превышающее 24.
  • Теперь getProductUrl()метод возвращает URL продукта для указанного веб-сайта. Ранее этот метод не позволял получить URL-адрес продукта для указанного веб-сайта в многосайтовых развертываниях.

Image

  • Теперь вы можете программно переместить изображение в галерею, используя addImageToMediaGalleryметод с $move. Раньше, когда вы пытались переместить изображение программно, Magento бросил это исключение: [InvalidArgumentException] File 'pub/media/import/' doesn't exist.
  • Производительность catalog:images:resizeкоманды была улучшена. Эта команда теперь изменяет размер только тех изображений, которые действительно используются, и перечисляет все ошибки.

Import/export

  • Статистика импорта теперь точно отражает результаты импорта.
  • Magento теперь успешно сохраняет ключи URL продукта на арабском языке.
  • Только измененные или обновленные записи продукта удаляются из кэша каталога после импорта, повторной индексации и запуска bin/magento cron:run --group index. Ранее все товары в каталоге были сброшены.
  • Теперь вы можете успешно загрузить файл CSV после экспорта. Ранее Magento перенаправлял вас на панель администратора, когда вы пытались загрузить файл CSV, созданный во время экспорта.
  • Продукты успешно обновляются путем импорта файла CSV в режиме добавления / обновления . Ранее процесс импорта не удалось, и Magento отображается сообщение об ошибке: The value specified in the URL Key field would generate a URL that already exists.
  • Magento больше не генерирует фатальную ошибку при импорте или экспорте, если путь к категории содержит идентификаторы удаленных категорий.
  • В процессе импорта сохраняются цены пользовательских опций, которые были назначены различным веб-сайтам и области действия до импорта. Ранее после импорта для этих цен настраиваемых опций устанавливались значения области действия по умолчанию.
  • Теперь вы можете обновлять продукты путем импорта файла CSV, если обновленные продукты имеют product_idширокий диапазон значений (например, от 1 до 6000). Ранее, когда вы инициировали импорт файла CSV ( Администратор > Система > Import > Продукт > Добавить / обновить ), Magento бросил эту ошибку: General error: 1114 The table 'catalog_product_index_price_temp' is full occurs.

Index

  • Мы улучшили обработку таблиц памяти в кластере Galera.
  • Индекс цен теперь можно полностью перестроить и перенести в таблицу активной базы данных цен за разумное время. Ранее этот индекс работал без завершения.
  • Мы улучшили производительность повторной индексации данных по продуктам.
  • Теперь вы можете фильтровать административных пользователей по ID. Ранее, когда вы пытались отфильтровать этих пользователей по идентификатору, Magento выдавал ошибку 500.

Infrastructure

  • Magento 2.3.3 теперь поддерживает PHP 7.3.x (протестирован с PHP 7.3.8) и PHP 7.2.x (протестирован с 7.2.21).
  • Лак кеша теперь поддерживает версию 6.2.0.
  • Теперь вы можете использовать службу копирования для атрибутов расширения для классов, которые расширяют объект данных.
  • Удален посторонний закрывающий тег из шаблона store-switcher.
  • \Magento\ConfigurableProduct\Pricing\Price\PriceResolverInterfaceбыл добавлен в di.xmlфайл.
  • Мы улучшили проверку форм, которые содержат несколько полей с одинаковыми именами. Ранее Magento проверял первый файл в форме, но не проверял последующие поля с этим именем.
  • Magento теперь идентифицирует идентификаторы объекта обзора программно, а не извлекает жестко запрограммированное значение.
  • Подсказки типа массива в модели Visibility теперь корректно ссылаются stringвместо int.
  • getListByCustomerIdФункция PaymentTokenManagementInterfaceтеперь возвращает массив.
  • В описание setStoreIdфункции были внесены изменения, чтобы более четко объяснить, как функция помогает загружать страницы CMS.
  • phpcsСценарий PHP_CodeSniffer теперь отображает все ошибки и предупреждения в консоли. Ранее Magento выдавал фатальную ошибку, когда обнаружил неперехваченную ошибку типа.
  • После oauthрукопожатия следует перенаправление, как ожидается для сторонних интеграций.