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
.
- Теперь вы можете сохранить множественный выбор и выбрать параметры атрибута, когда модули образцов отключены.
- Письмо, созданное с использованием 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
рукопожатия следует перенаправление, как ожидается для сторонних интеграций.