Adobe Commerce 2.4.3 릴리스 노트

Adobe Commerce 2.4.3에서는 향상된 성능 및 보안과 더불어 상당한 플랫폼 개선 사항이 도입되었습니다. 보안 개선 사항으로는 reCAPTCHA 적용 범위 확장 및 내장 속도 제한 포함 등이 있습니다. 코어 작성기 종속성 및 서드파티 라이브러리가 PHP 8.x와 호환되는 최신 버전으로 업그레이드되었습니다.

이 릴리스에는 코어 코드에 대한 370개 이상의 새로운 수정 사항과 33개의 보안 개선 사항이 포함되어 있습니다. Adobe Commerce 2.4.2 릴리스 정보에서 확인된 모든 알려진 문제는 이 릴리스에서 해결되었습니다.

NOTE
Adobe Commerce 릴리스에는 이전 버전과 호환 불가능한 변경 사항(BIC)이 포함될 수 있습니다. 이전 버전과 호환되지 않는 변경 내용을 검토하려면 BIC 참조를 참조하십시오. 이전 버전과 호환되지 않는 주요 문제는 BIC 하이라이트에 설명되어 있습니다. 일부 릴리스에서는 주요 BIC가 제공되지 않습니다.

Adobe Commerce 2.4.2-p2에 대한 정보는 Adobe Commerce 2.4.2-p2 릴리스 노트를 참조하십시오.

기타 릴리스 정보

이러한 기능에 대한 코드가 분기별 릴리스와 번들로 제공되지만, 이러한 프로젝트 중 일부(예: B2B, 페이지 빌더 및 Progressive Web Application(PWA) 스튜디오)도 독립적으로 릴리스됩니다. 이러한 프로젝트에 대한 버그 수정은 각 프로젝트에 대한 설명서에서 사용할 수 있는 별도의 프로젝트별 릴리스 정보에 설명되어 있습니다.

API 속도 제한 문제를 해결하려면 MC-43048__set_rate_limits__2.4.3.patch를 적용하십시오.

이 핫픽스는 웹 API가 배열에 20개 이상의 항목을 포함하는 요청을 처리할 수 없는 문제에 대한 솔루션을 제공합니다. 이 문제는 Magento Open Source 2.4.3, Adobe Commerce 2.4.3 또는 2.3.7-p1을 실행하는 배포에 영향을 줍니다. 서비스 거부(DoS) 공격을 방지하기 위해 이러한 릴리스에 기본 속도 제한이 추가되었으며 기본 최대값이 20으로 설정되었습니다. 이 패치는 기본 제한을 더 높은 값으로 되돌립니다. 스토어에서 DoS 공격이 발생하고 있다고 의심되는 경우 Adobe은 기본 입력 제한을 더 낮은 값으로 낮추어 요청할 수 있는 리소스 수를 제한할 것을 권장합니다. Web API가 배열에 있는 20개 이상의 항목을 가진 요청을 처리할 수 없습니다 기술 자료 문서를 참조하십시오.

업그레이드 시 PHP 치명적인 오류를 해결하기 위해 AC-384__Fix_Incompatible_PHP_Method__2.4.3_ce.patch 적용

Adobe Commerce 2.4.3으로 업그레이드하는 동안 다음과 같은 오류가 발생할 수 있습니다.

PHP Fatal error: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in [...]/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74

이 오류는 PHP 8.x 함수인 str_contains 함수를 사용했기 때문에 발생합니다. Adobe Commerce 2.4.3은 PHP 8.x를 지원하지 않습니다. 이 핫픽스는 이 함수를 지원되는 PHP 7.x 함수로 대체합니다. Adobe Commerce 업그레이드 2.4.3, 2.3.7-p1 PHP 치명적 오류 핫픽스 기술 자료 문서를 참조하십시오.

AC-3022.patch을(를) 적용하여 DHL을 배송 운송업체로 계속 제공

DHL은 스키마 버전 6.2를 도입했으며 조만간 스키마 버전 6.0을 더 이상 사용하지 않을 예정입니다. DHL 통합을 지원하는 Adobe Commerce 2.4.4 및 이전 버전은 버전 6.0만 지원합니다. 이러한 릴리스를 배포하는 판매자는 가능한 한 빨리 AC-3022.patch을(를) 적용하여 DHL을 운송 회사로 계속 제공해야 합니다. 패치 다운로드 및 설치에 대한 자세한 내용은 DHL을 배송업체로 계속 제공하려면 패치 적용 기술 자료 문서를 참조하십시오.

강조 표시

이 릴리스에서 다음 하이라이트를 확인하십시오.

강화된 보안 기능

이 릴리스에는 33가지 보안 수정 사항 및 플랫폼 보안 개선 사항이 포함되어 있습니다. 이러한 보안 수정 사항 중 대부분은 2.4.2-p2 및 2.3.7-p1로 백포트되었습니다.

RCE(원격 코드 실행) 및 XSS(교차 사이트 스크립팅) 취약점을 해결하는 데 도움이 되는 33가지 보안 개선 사항

현재까지 이러한 문제와 관련된 확인된 공격은 발생하지 않았습니다. 그러나 특정 취약성은 고객 정보에 액세스하거나 관리자 세션을 인수하는 데 잠재적으로 악용될 수 있습니다. 이러한 문제의 대부분은 공격자가 먼저 관리자에 대한 액세스 권한을 얻어야 합니다. 그 결과, IP 허용 목록에 추가, 2단계 인증, VPN 사용, /admin이(가) 아닌 고유한 위치 사용, 양호한 암호 위생 등을 포함하여(그러나 이에 국한되지 않음) 관리자를 보호하기 위해 필요한 모든 조치를 취하도록 상기시켜 드립니다. 이러한 고정 문제에 대한 논의는 Adobe 보안 공지를 참조하십시오.

추가적인 보안 개선 사항

이 릴리스의 보안 개선 사항은 다음을 포함하여 최신 보안 모범 사례를 준수하도록 개선합니다.

  • 새 작성기 플러그 인 ​을 사용하면 종속성 혼동을 방지하고 공용 패키지 저장소의 내부 패키지와 이름이 같은 악성 패키지를 식별할 수 있습니다. Adobe 릴리스 New Composer Plugin with 2.4.3 릴리스 블로그 게시물을 참조하십시오.

  • 서비스 거부(DoS) 공격을 방지하기 위해 API에 대한 속도 제한이 기본 제공됩니다. 이제 웹 API에는 클라이언트가 요청할 수 있는 리소스 크기 또는 수에 대한 제한이 적용됩니다(기본 최대값은 20으로 설정되며 비즈니스 필요에 따라 다른 값으로 구성할 수 있음). 이러한 제한 구성에 대한 자세한 내용은 속도 제한을 참조하세요.

  • 다음을 포함하도록 ReCAPTCHA 범위가 확장되었습니다:

    • 해당 HTML 페이지가 있는 웹 API는 ReCAPTCHA를 통해 다룹니다. (통합으로 액세스하는 웹 API는 제외됩니다.) ReCAPTCHA 적용 범위는 스팸 공격으로부터 종단점을 보호합니다. OAuth를 사용하는 서드파티 통합 서비스에서 웹 API에 액세스하면 ReCAPTCHA가 비활성화됩니다.

    • 주문 상점 페이지 및 결제 관련 웹 API입니다. 이러한 페이지에 대한 ReCAPTCHA 보호는 기본적으로 비활성화되며 관리자에서 활성화할 수 있습니다. 이번 적용에는 카드식 공격으로부터 매장을 보호하기 위한 안티 브루트 포스 메커니즘이 추가됩니다.

NOTE
2.3.2 릴리스부터 외부 파티가 보고하는 각 보안 버그와 함께 인덱싱된 CVE(Common Vulnerabilities and Exposes) 번호를 할당하고 게시합니다. 이를 통해 사용자는 배포에서 해결되지 않은 취약점을 보다 쉽게 식별할 수 있습니다. CVE에서 CVE 식별자에 대해 자세히 알아볼 수 있습니다.

인프라 개선 사항

이 릴리스에는 프레임워크 및 다음 기능 영역의 품질을 개선하는 개선 사항이 포함되어 있습니다.

  • 고객 계정

  • 카탈로그

  • CMS

  • OMS

  • 가져오기/내보내기

  • 프로모션 및 타기팅

  • 장바구니 및 체크아웃

  • B2B

  • 스테이징 및 미리보기

PayPal이 포함된 배포에서 PayPal 나중에 결제 지원 이 기능을 통해 구매자는 구매 시 전체 금액을 지불하는 대신 2주 단위로 주문 금액을 지불하는 것이 가능하다.

use_application_lock 인덱싱 모드. use_application_lock 모드를 사용하면 환경 변수를 사용하거나 app/etc/env.php 파일을 구성하여 다시 인덱싱을 사용할 수 있습니다. 이 모드가 활성화된 상태에서 실패 후 더 이상 인덱서를 수동으로 재설정할 필요가 없습니다. 다시 인덱싱 프로세스에 응용 프로그램 잠금 모드 사용을 참조하세요.

플랫폼 개선 사항

버전 2.4.3은 아직 PHP 8.x와 호환되지 않지만, 다음의 플랫폼 업그레이드는 PHP 8.x와의 향후 호환성에 더 가깝게 우리를 제공합니다.

  • Core Composer 종속성 및 타사 라이브러리가 PHP 8.x와 호환되는 최신 버전으로 업그레이드되었습니다.

  • KnockoutJS 라이브러리가 v3.5.1(최신 버전)로 업그레이드되었습니다.

  • 더 이상 사용되지 않는 TinyMCE v3 라이브러리가 제거되었습니다. TinyMCE v3.x와 관련된 Magento_Tinymce3Banner 모듈 및 MTF 테스트가 Adobe Commerce에서 제거되었습니다.

  • 버전 2.4.3은 테스트를 거쳤으며 Redis 6.0.12와 호환되는 것으로 확인되었습니다. (버전 2.4.x는 Redis 5.x와 호환됩니다.)

  • Laminas 라이브러리 종속성이 PHP 8.x 호환 버전으로 업그레이드되었습니다. composer.json 파일에서 일부 중복 종속성이 제거되었습니다. Adobe Commerce 2.4.3에서 Laminas 3.4.0 ​을 사용합니다.

성능 향상

이 릴리스에는 제품 가격 및 카탈로그 규칙 인덱서의 색인 지정 시간을 줄이는 개선 사항이 포함되어 있습니다. 판매자는 이제 고객 그룹 또는 공유 카탈로그에서 웹 사이트를 제외할 수 있으므로 색인화를 위한 레코드 수를 줄이고 색인 지정 시간을 개선할 수 있습니다.

라이브 검색

Adobe Sensei에서 제공하는 실시간 검색은(는) 인공 지능과 머신 러닝 알고리즘을 사용하여 집계된 방문자 데이터를 심층 분석함으로써 직관적인 검색 경험을 제공합니다. 실시간 검색 릴리스 정보를 참조하세요.

GraphQL

이번 릴리스에는 다음 기능에 대한 GraphQL 지원이 추가되었습니다.

이러한 개선 사항에 대한 자세한 내용은 GraphQL 개발자 안내서를 참조하십시오.

B2B

버전 2.4.3에서는 B2B v1.3.2가 도입되었습니다. 이 릴리스에는 여러 버그 수정이 포함됩니다. B2B 릴리스 정보를 참조하세요.

페이지 빌더

이제 Page Builder를 Magento Open Source에서 번들 확장으로 사용할 수 있습니다. 이제 Adobe Commerce 2.4.3 및 Magento Open Source 2.4.3의 기본 컨텐츠 편집 도구입니다. WYSIWG 편집기를 서드파티 모듈로 대체할 수 있습니다.

페이지 빌더는 다음 관리 영역에서 TinyMCE 편집기를 대체합니다.

  • CMS 페이지
  • CMS 차단
  • 범주 설명
  • 제품 설명

TinyMCE에서 만든 모든 콘텐츠는 HTML으로 페이지 빌더로 마이그레이션되었습니다.

PWA Studio

개선 사항 및 버그 수정에 대한 자세한 내용은 PWA Studio 릴리스를 참조하십시오. PWA Studio 버전 및 호환 버전 목록은 호환성을 참조하십시오.

업그레이드 호환성 도구

호환성 업그레이드 도구의 범위가 커뮤니티의 피드백을 기반으로 확장되었습니다. #upgrade-compatibility-tool Slack 채널에 참여하여 Adobe 제품 팀과 커뮤니티의 지원을 받고 도구의 향후 방향을 안내해 보세요.

Cloud Managed Services 업데이트

이번 릴리스에는 Amazon Simple Storage Service(AWS S3) 및 Amazon Aurora Managed Services에 대한 지원이 개선되었습니다. AWS ElastiCache, AWS Elasticsearch 및 AWS 관리 큐(Rabbit MQ)에 대한 인증된 지원을 제공합니다. (Dell은 이러한 서비스의 기능, 성능 및 Adobe Commerce과의 통합을 테스트했습니다.)

Adobe Stock 통합

이 릴리스에는 Adobe Stock 통합 v2.1.1이 포함되어 있습니다.

공급업체가 개발한 확장

이 릴리스의 기능 및 변경 사항에 대한 업데이트는 다음 항목을 참조하십시오.

해결된 문제

2.4.3 코어 코드에서 수백 개의 문제를 해결했습니다.

설치, 업그레이드, 배포

  • 이제 bin/magento setup:db:status 명령은 성공적으로 업그레이드한 후 모든 항목이 최신 상태임을 나타내는 메시지를 반환합니다. 이전에는 응용 프로그램에서 다음 오류가 표시되었습니다. Declarative Schema is not up to date.
  • 이제 구성 가능한 새 제품 만들기가 실패할 때 양식을 다시 로드할 때 구성 값이 유지됩니다. 이전에는 양식 다시 로드 중에 값이 손실되어 응용 프로그램에 다음 오류가 표시되었습니다. The value specified in the URL Key field would generate a URL that already exists. GitHub-32102
  • bin/magento setup:upgrade을(를) 실행하여 Redis를 사용하는 Magento Open Source 배포에서 Adobe Commerce으로 업그레이드할 때 응용 프로그램에서 더 이상 예외가 발생하지 않습니다.
  • 이전에 만든 장바구니 가격 규칙은 이제 배포가 Magento Open Source에서 Adobe Commerce으로 업그레이드된 후 콘텐츠 스테이징 대시보드 페이지에 표시됩니다.
  • Galera Cluster에서 실행되는 배포는 이제 더 많은 고객을 지원합니다. GitHub-31038
  • core_config_data_table에서 —use-rewrites=0 옵션을 사용하거나 web/seo/use_rewrites을(를) 0으로 설정하여 응용 프로그램을 설치한 경우 관리자는 배포에 로그인할 수 있습니다. GitHub-32100
  • AsyncCssPlugin에 대한 sortOrder 로드를 업데이트했습니다. 이제 응용 프로그램이 JsFooterPlugin 전에 AsyncCssPlugin을(를) 로드합니다. GitHub-30882
  • 이제 Magento\Config\Model\Config\PathValidator이(가) 표시 경로를 확인하여 요소가 존재하는지 확인하고 구성 경로가 있는지 확인하고 유효성 검사에 대신 config.xml 경로를 사용합니다. GitHub-27678
  • 이제 Grunt를 사용하거나 서버측 컴파일을 사용하여 Less 파일을 컴파일하면 동일한 결과가 나옵니다. 이전. Grunt를 사용하여 컴파일할 때 _extends.less에서 다른 .abs- styles을(를) 확장하는 .abs- styles이(가) 제대로 출력되지 않았습니다. 그 결과 프로덕션 배포와 개발 배포 간에 차이가 발생했습니다. GitHub-7231

관리자 GWS

  • 이제 관리자 GWS는 사용자 지정 권한이 있는 관리자를 위해 관리자 컬렉션의 website_id SQL 조건에 대해 int 값을 사용합니다.

Adobe Stock 통합

  • 이제 API 키(클라이언트 ID)클라이언트 암호 ​가 설정되지 않은 경우 Adobe Stock 검색 페이지에서 응용 프로그램이 관리 스토어 > 구성 > 고급 > 시스템 페이지에 정보 메시지와 링크를 표시합니다. 이전에는 응용 프로그램에 We couldn't find any records 오류가 표시되었지만 링크가 없습니다.

백엔드

  • 제한된 액세스 권한(예: 하나의 웹 사이트에만 액세스 권한이 할당된 관리자)을 가진 관리자는 더 이상 글로벌 범위로 설정된 카테고리를 편집할 수 없습니다.
  • 생성된 시스템 보고서(시스템 > 지원 > 시스템 보고서)가 올바르게 렌더링되었습니다. 이전에는 보고서 콘텐츠가 잘못 정렬되었습니다.
  • 이제 번들 제품을 만드는 동안 동적 가격 설정을 사용하도록 설정하면 응용 프로그램에서 가격 필드에 대한 유효성 검사를 예상대로 끕니다. 이전에는 동적 가격 설정을 사용하도록 설정한 경우 가격 필드에서 값을 제거할 때 응용 프로그램에서 유효성 검사 오류가 발생했습니다. GitHub-26214
  • 애플리케이션이 두 URL에서 액세스할 수 있도록 구성된 배포에서 관리자 URL이 기본 웹 사이트 URL과 다를 경우 더 이상 무한 리디렉션이 발생하지 않습니다.

번들 제품

  • 이제 addProductsToCart 돌연변이를 사용하여 두 개 이상의 확인란 옵션이 있는 번들 제품을 장바구니에 추가할 수 있습니다.
  • 이제 임시 테이블을 사용하여 번들 제품의 가격 색인화가 실행되므로 데이터베이스 테이블이 잠기지 않습니다. 이전에는 응용 프로그램에서 실제 테이블을 사용했기 때문에 테이블이 잠겼습니다.
  • 이제 번들 항목의 가격을 0.00으로 설정할 수 있습니다. 이전에는 가격을 0.00으로 설정한 후 편집 페이지로 돌아오면 가격이 기본값으로 반환되었습니다. GitHub-32383
  • 이제 번들 제품이 포함된 주문의 주문 세부 사항에 주문 전에 가격이 변경된 경우 번들 제품에 대한 정확한 가격이 표시됩니다.
  • 번들 제품 스톡 상태는 이제 하위 제품의 스톡 상태에 따라 업데이트됩니다. 이전에는 번들 제품이 제품에서 한 개의 옵션을 제거하면 품절로 표시되었으며, 번들 제품에는 동일한 SKU를 사용하는 두 개의 옵션이 있습니다.
  • 이제 관리자는 번들 제품의 Shipment Type 특성 값을 다른 특성 그룹으로 이동한 후 변경할 수 있습니다. 이전에는 이 특성을 특성 집합에서 기본 그룹이 아닌 특성 그룹으로 이동할 경우 항상 Together 값으로 저장했습니다.
  • 이제 GraphQL setGuestEmailOnCart 돌연변이가 게스트 이메일을 올바르게 업데이트합니다. 이전에는 견적 및 견적 주소 표가 업데이트되지 않았습니다.
  • 이제 REST API 호출을 통해 하위 제품을 번들 제품으로 추가, 제거 또는 업데이트하면 예상대로 다시 색인화가 트리거됩니다. 이전에는 이러한 작업이 재색인화를 트리거하지 않았으며, 그 결과 번들 제품은 수동 재색인화가 수행될 때까지 재고 상태를 변경하지 않았습니다.
  • 이제 애플리케이션에서 계층 가격이 있는 번들 제품에 대한 올바른 가격 범위를 표시합니다. GitHub-30284
  • 이제 애플리케이션에서 번들 옵션의 가격이 변경된 후 장바구니 페이지 및 체크아웃 워크플로의 배송 단계에서 예상한 것과 동일한 총 가격을 표시합니다.
  • 이제 고객 장바구니에서 액세스하여 번들 제품을 성공적으로 구성할 수 있습니다. 이전에는 제품 구성 페이지가 완전히 로드되지 않았으며 설정을 저장할 수 없었습니다.
  • 판매자는 이제 다중 스토어 배포의 각 스토어 보기에서 번들 제품에 대한 고유 가격을 할당할 수 있습니다. 웹 사이트별 가격이 catalog_product_bundle_selection_price 표에 저장됩니다. 이전에는 스토어 > 구성 > 카탈로그 > 카탈로그 > 가격 > 카탈로그 가격 범위 ​가 Website(으)로 설정된 경우에도 애플리케이션에서 웹 사이트 범위에 번들 제품의 가격을 기준으로 하지 않았습니다. catalog_product_bundle_selection_price에 웹 사이트별 가격이 저장되지 않았습니다. GitHub-12584
  • 다이내믹 가격 책정 ​을(를) 사용하지 않도록 설정하면 번들 제품에 대한 인보이스에 연결된 단순 제품에 대한 올바른 수량이 표시됩니다. 이전에는 번들 제품과 연계된 단순 제품의 수량이 번들 제품이 아닌 상위 제품의 수량이었습니다. GitHub-30802
  • updateProductsInWishlist 돌연변이가 이제 위시리스트의 번들 제품에 속하는 항목을 성공적으로 업데이트했습니다. 이전에는 이 돌연변이가 위시리스트 항목을 업데이트하는 대신 항목을 삭제하고 새 항목을 만들어 항목 ID를 변경했다.
  • 이제 POST /V1/product/:sku 끝점을 사용하여 번들 제품을 만들거나 업데이트하는 동안 required_optionshas_options 번들 특성을 예상대로 설정할 수 있습니다. 이전에는 이러한 사용자 지정 속성을 1(1)로 설정하려는 노력에도 불구하고 0으로 설정되었습니다.
  • 이전에 누락된 번들 제품 데이터가 이제 스테이징 프로세스에 포함됩니다. 따라서 구매자가 제품 목록 페이지에서 번들 제품을 구매한 경우와 제품 페이지에서 직접 번들을 추가한 경우의 제품 비헤이비어의 불일치가 해결됩니다.

캐시

  • varnish6.vcl 파일이 고객 페이지의 캐싱을 무시하도록 업데이트되었습니다.

CAPTCHA

  • 이제 CAPTCHA가 구매자가 제공한 데이터를 올바르게 확인하고, 이제 구매자가 PayPal Payflow Pro를 사용하여 여러 번 체크아웃하려고 시도했지만 실패한 후 CAPTCHA 필드가 예상대로 표시됩니다.
  • 체크아웃 워크플로의 결제 페이지에서 CAPTCHA 유효성 검사가 더 이상 임의로 실패하지 않습니다.
  • 이제 실패한 완료 시도 횟수를 초과하면 애플리케이션에서 예상대로 CAPTCHA 필드를 표시합니다. 이전에는 애플리케이션에서 CAPTCHA 문제를 다시 시도하도록 요청했지만 CAPTCHA 필드가 표시되지 않았습니다.
  • 이제 CAPTCHA가 체크아웃 페이지에서 예상대로 작동합니다. 이전에는 쇼핑객이 CAPTCHA 문제를 올바르게 응답한 후 체크아웃 페이지의 로더가 완료되지 않았으며 응용 프로그램에 다음 오류가 표시되었습니다. captchaData[formId] is undefined. (이 오류는 쇼핑객이 이전에 2.3.5-p1을 실행하는 배포에 액세스한 브라우저와 동일한 브라우저를 사용한 경우에만 발생했습니다.)
  • _.isEmpty()이(가) defaultCaptcha.js 파일을 성공적으로 확인했습니다. 이전에는 이러한 확인이 완료되지 않았으며, 그 결과 업그레이드 후 체크아웃 페이지를 로드하지 못했습니다. GitHub-31641

장바구니 및 체크아웃

  • 이제 애플리케이션은 장바구니에서 제품 수량을 변환하고 업데이트할 때 로케일별 소수점 로케이터를 고려합니다.
  • 주문에서 배송 주소가 있는 제공된 고객명이 더 이상 생략되지 않습니다. 이전에는 same_as_billing 플래그가 데이터베이스에 저장되지 않아 이름이 생략되었습니다.
  • 이제 장바구니에서 제품을 편집할 때 기프트 등록에 대한 링크가 예상대로 유지됩니다. 이전에는 장바구니 업데이트 단추를 클릭했을 때 이러한 링크가 사라졌습니다.
  • 일부 제품을 삭제한 후 소비자 quoteItemCleaner의 모든 대기열 메시지가 현재 예상대로 상태를 complete(으)로 변경합니다. 이전에는 이 소비자에 대한 메시지 한 개만 상태가 complete(으)로 변경되었으며 나머지 메시지는 in progress(으)로 변경되었습니다.
  • 이제 구매자가 주문 단추를 클릭할 때만 관련 블록에 약관 유효성 검사 메시지가 표시됩니다. 이전에는, 구매 고객이 체크아웃 워크플로에서 결제 방법을 변경할 때마다 할인 코드 적용 블록에 이 메시지가 표시되었습니다. The order wasn't placed. First, agree to the terms and conditions, then try placing your order again.
  • 이제 업데이트 예약 미리 보기에서 장바구니에 번들 제품을 추가하고 장바구니를 클릭하면 예상대로 체크아웃 페이지로 리디렉션됩니다. GitHub-447
  • 이제 구매자가 업데이트 단추를 클릭하지 못하고 배송 단계로 돌아간 경우 결제 결제 단계에서 결제 주소 양식 변경 사항을 애플리케이션에서 버립니다.
  • 이제 쇼핑객이 잘못된 제품 수량을 추가하고 장바구니 관리 페이지에서 항목 및 수량 업데이트 단추를 클릭할 때 애플리케이션에 정보 오류 메시지가 표시되고 제품 수량이 업데이트되지 않습니다. 이전에는 애플리케이션에서 제품 수량을 업그레이드하여 오류 메시지가 표시되지 않았습니다. GitHub-459
  • 사용자 지정 가능한 옵션 (File)이(가) 있는 제품에는 이제 다중 배송 체크아웃 프로세스 전체에서 예상대로 활성 링크가 포함됩니다. 이전에는 이 링크가 없었습니다. GitHub-31095
  • 이제 관리 장바구니에서 여러 통화를 지원하는 스토어의 제품 가격을 올바른 통화로 표시합니다. 이전에는 가격이 지정된 통화로 두 번 이상 전환되었습니다. 처음에는 상점 앞쪽에서 장바구니에 제품이 추가되었고 그 다음에는 나중에 관리자에서 주문이 렌더링될 때 다시 전환되었습니다.
  • 이제 애플리케이션은 관리자가 상점 첫 화면에서 쇼핑객이 만든 관리자의 주문을 완료한 후 예상대로 장바구니를 비웁니다. 이전에는 관리자가 주문을 완료한 후 고객이 다시 로그인하면 상점 장바구니에 주문 콘텐츠가 여전히 포함되었습니다. GitHub-30262
  • 이제 구매자는 최소 광고 가격(MAP)이 일반 제품 가격을 초과하는 제품을 장바구니에 추가할 수 있습니다.
  • 이제 구매자는 여러 주소로 체크아웃할 때 체크아웃 워크플로우에서 청구 주소를 성공적으로 변경할 수 있습니다.
  • 게스트가 생성한 모든 유료 결제 거래는 이제 데이터베이스에 저장되고 예상대로 관리자에 표시됩니다. 이전에는 일부 소규모 동시 주문만 데이터베이스에 저장되었으며 데이터베이스 잠금으로 인한 시간 초과로 인해 대부분의 주문이 손실되었습니다. GitHub-25862
  • 이제 게스트가 미니 장바구니에 제품을 배치할 때 애플리케이션에서 특수 문자가 포함된 인라인 환영 메시지를 올바르게 표시합니다. 이전에는 애플리케이션이 미니 장바구니에 제품을 추가하거나 시작 메시지를 표시하지 않았습니다. GitHub-32250
  • 매장 배달을 활성화하면 체크아웃 워크플로우의 배송 페이지가 성공적으로 로드됩니다. 이전에는 애플리케이션에서 JavaScript 오류가 발생했으며 배송 체크아웃 페이지가 완전히 렌더링되지 않았습니다.
  • 카탈로그 di.xml 파일에 itemResolvers 인수를 추가했습니다. 따라서 구성 가능하고 그룹화된 제품 모듈이 비활성화된 경우 체크아웃이 더 이상 중단되지 않습니다. GitHub-30860
  • 이제 응용 프로그램에서 관리자 순서 변경 작업 과정에서 예상한 대로 결제 및 배송 정보 섹션에 라디오 단추를 표시합니다. GitHub-30257
  • 이제 장바구니에 여러 옵션이 있는 번들 제품이 포함된 경우, 애플리케이션에서 장바구니 수준 고정 할인과 함께 장바구니 가격 규칙을 올바르게 적용합니다. 이전에는 장바구니 가격 규칙이 주문에 완전히 적용되지 않았습니다. GitHub-30952
  • 범주 목록 보기의 장바구니에 추가 단추가 예상대로 작동합니다. GitHub-32232
  • 이제 /V1/carts/mine/items POST을 사용하여 그룹화된 제품의 사용자 지정 수량을 장바구니에 추가할 수 있습니다. GitHub-26909
  • 애플리케이션이 더 이상 체크아웃 워크플로우의 청구 주소 영역을 배송 주소로 채우지 않습니다. 이전에는 청구 주소의 시/도 필드가 비어 있고 배송 주소와 청구 주소가 다른 경우 응용 프로그램에서 청구 주소 시/도 필드를 배송 주소의 정보로 채웠습니다. GitHub-31608

카탈로그

  • 수량 증가 활성화수량 증가 속성의 대량 업데이트가 예상대로 작동합니다. GitHub-29544
  • 이제 숫자 전용 SKU가 포함된 공유 카탈로그를 복제할 수 있습니다. 이전에는 \Magento\Catalog\Model\ProductIdLocator 클래스가 숫자 전용 SKU에서 올바르게 작동하지 않아 공유 카탈로그를 복제하려고 할 때 응용 프로그램에서 오류가 발생했습니다.
  • 관리자와 최근 제품 동기화를 활성화한 후 애플리케이션에서 더 이상 JavaScript 오류가 발생하지 않습니다. 이전에는 응용 프로그램에 이 JavaScript 오류가 표시되었습니다. Cannot read property 'status' of undefined.
  • 이제 사용자 지정 테마 레이아웃 업데이트가 예상대로 적용됩니다. 이전에는 사용자 지정 테마 레이아웃 업데이트가 무시되었습니다.
  • 이제 indexer_update_all_views 실행 중에 cron에서 예상대로 제품 범주 캐시를 지웠습니다. 이전에는 색인 재지정 후 카테고리 페이지의 제품 카운트가 올바르지 않았습니다.
  • 스토어 보기에 대한 제품 업데이트 REST API 요청에 특성이 지정되지 않은 경우 속성 값은 이제 변경되지 않습니다. 이전에는 속성이 지정되지 않은 경우 응용 프로그램이 속성 값을 기본 범위 값으로 재설정했습니다.
  • 이제 제품이 SKU로 필터링될 때 관리 제품 표(관리자 카탈로그 > 제품)에 올바른 제품 수가 표시됩니다.
  • 이제 범주 권한이 활성화된 경우 CMS 페이지에 제품을 추가할 때 애플리케이션에서 정확한 재고 상태를 표시하고 지정된 고객 그룹의 가격을 표시할 수 없습니다. 기존에는 실물 재고 여부와 관계없이 모든 상품이 품절로 나타났다.
  • 이제 Advanced Pricing 고객 그룹 가격 블록 가격 입력 필드의 최소 너비는 5자리입니다. 이전에는 저해상도 디스플레이의 이 필드에 두 개의 기호만 표시되었습니다.
  • 이제 애플리케이션은 제품을 삭제한 후 제품 미디어 이미지를 성공적으로 삭제합니다. 이전에는 제품을 삭제한 후 제품 미디어 이미지가 폴더에 남아 있었습니다.
  • 이제 관리자에서 제품을 만들거나 편집한 다음 예약 디자인 업데이트를 만들 때 페이지 레이아웃이 예상대로 업데이트됩니다. GitHub-32007
  • 이제 값이 0인 사용자 지정 제품 속성을 공백으로 저장할 수 있습니다. 이전에는 이 값이 공백으로 업데이트되지 않았습니다.
  • 이제 사용자 지정 범주 레이아웃 업데이트 파일이 예상대로 제품에 적용됩니다. 이전에는 업데이트 파일 핸들(catalog_category_view_*)이 제품 핸들과 일치하지 않았습니다. GitHub-27285
  • 관리자 제품 목록의 고정 제품 세금(FPT) 열에 대해 정렬이 비활성화되었습니다. 이전에는 FPT 열이 정렬된 후 제품 페이지를 다시 로드할 수 없었습니다.
  • 이제 각 웹 사이트에서 일치하는 제품의 가격이 다를 때 다중 웹 사이트 배포에서 페이지 빌더 제품 위젯 미리 보기가 예상대로 작동합니다.
  • GET /rest/V1/products/?searchCriteria[filterGroups]을(를) 사용하여 제품 검색에서 위치별 정렬이 이제 예상대로 작동합니다. 이전에는 제품 컬렉션에 정렬에 대한 필드 position 값이 없었습니다. GitHub-31591
  • 이제 관리자 사용자는 제품 그리드의 이름SKU 필드에 이중 공백을 볼 수 있습니다. 이전에는 응용 프로그램에서 여러 공간을 하나의 공간으로 축소했습니다.
  • 이제 관리자의 판매 가능 수량이 0일 때 제품이 품절로 상점 앞에 표시됩니다. 이전에는 이러한 제품이 상점 앞에 재고로 나열되었으며 응용 프로그램에 활성 장바구니에 추가 단추가 표시되었습니다. GitHub-31117
  • 이제 관리자는 사용자 지정 가능한 옵션 (File)이(가) 있는 제품을 고객 관리 페이지의 장바구니 섹션(고객의 활동 열)에서 주문한 항목 그리드에 추가할 수 있습니다. 이전에는 값이 \Magento\Catalog\Model\Product\Type\AbstractType::_prepareOptions에 삽입되기 전에 올바른 형식을 지정하지 않았기 때문에 응용 프로그램에서 항목을 목록에 추가하지 않았습니다.
  • 이 애플리케이션은 구매자에게 하나의 옵션만 있는 번들 제품에 대한 제품 옵션을 선택하라는 메시지를 더 이상 표시하지 않습니다.
  • 이제 새 위젯을 만드는 동안 애플리케이션에서 레이아웃 업데이트의 모든 하위 범주(앵커 및 비앵커 범주)를 표시합니다.
  • 하나의 스토어 보기에 대해서만 제품 이름이 업데이트된 경우 product 쿼리가 다중 스토어 배포의 모든 스토어 보기에 대한 기본값을 더 이상 덮어쓰지 않습니다. GitHub-31083
  • Adobe Commerce은 관리자 관련 제품, 상향 판매 및 교차 판매 목록의 페이지당 값을 변경할 때 예상대로 총 페이지 수를 업데이트합니다. GitHub-31059
  • 이제 관리자는 사용자 지정 가능한 옵션이 두 개 이상인 제품을 SKU별 주문에 추가할 수 있습니다.(File)
  • 권한이 제한된 관리자가 관리자의 CMS 페이지에 제품 위젯을 추가할 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다. 이전에는 관리자가 저장 단추를 클릭할 때 응용 프로그램에서 이 오류가 발생했습니다. We are sorry, an error has occurred while generating the content.
  • 이제 JavaScript 달력 사용 ​을 사용하도록 설정하면 사용자 지정 가능한 날짜 옵션이 이전 주문의 날짜로 채워지는 제품 세부 정보 페이지가 열립니다. 이제 사용자 지정 날짜 옵션 값 확인자가 값의 형식이 현재 구성을 기반으로 하지 않는 경우 대체 형식으로 대체됩니다. 이전에는 사용자 지정 날짜 옵션 값이 비어 있었습니다.
  • 이제 제품이 품절되었을 때 애플리케이션에서 장바구니에 하나의 오류만 표시됩니다. 이전에는 애플리케이션에서 중복 메시지를 표시했습니다. GitHub-27469
  • 이제 관리자는 사용자 지정 가능한 옵션 (File)이(가) 있는 제품을 SKU별 주문에 추가할 수 있습니다. GitHub-30285
  • 이제 type_id을(를) 지정하지 않고 제품 및 가격을 저장할 수 있습니다. GitHub-13639
  • 이제 REST PUT /V1/products/:sku/links 요청을 사용하여 새 하위 제품을 새 그룹 제품과 연결할 때 예상대로 상점 앞에서 그룹 제품을 사용할 수 있습니다. 이전에는 bin/magento cron:run을(를) 실행한 후 제품이 올바르게 색인화되지 않았습니다.
  • 더 이상 NULL SKU 값으로 제품을 만들 수 없습니다. 이전에는 사용자 지정 가져오기를 통해 또는 데이터베이스에서 직접 SKU 값 없이 제품을 만들 수 있었지만 관리자에서 편집하려고 할 때 애플리케이션에서 오류가 발생했습니다. GitHub-27411, GitHub-32525
  • 단순 제품에 필요한 사용자 지정 옵션을 추가해도 경고 없이 상위 복합 제품에서 더 이상 제거되지 않습니다. 이제 애플리케이션에 유익한 경고가 표시되고 제품이 저장되지 않습니다. 이전에는 응용 프로그램이 제품 변경 사항을 저장하고 경고를 표시하지 않았습니다. GitHub-30492

카탈로그 규칙

  • 이제 카탈로그 가격 규칙이 항목에 적용되면 products 쿼리가 현재 값을 반환합니다. GitHub-26738
  • 장바구니 또는 카탈로그 규칙이 만료되거나, 비활성화되거나, 비활성 상태가 된 후 다시 인덱싱이 실패하면 catalogrule_product__temp(으)로 시작하는 임시 테이블이 예상대로 삭제됩니다. GitHub-22273
  • 이제 시간대가 \Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexById\Magento\CatalogRule\Model\Indexer\IndexBuilder::reindexByIds에서 동일한 방식으로 적용됩니다. GitHub-29549

CMS 콘텐츠

  • 이제 프론트엔드 크기 조정 사용 구성 설정을 사용하면 업로드 중에 예상대로 큰 이미지 크기가 조정됩니다.
  • CMS 페이지 저장 컨트롤러에 대한 오류 처리를 수정했습니다. 이전에는 cms_page_prepare_save 이벤트에서 Error 개체가 throw되면 이 함수에는 Exception이 필요하므로 응용 프로그램에서 이 개체를 addExceptionMessage 함수로 전달하여 계약을 깼습니다. 이 문제는 addErrorMessage 함수를 사용하여 오류 메시지를 추가하여 해결되었습니다. GitHub-30149
  • 이제 CMS 페이지 계층 편집 탭에서 새 페이지를 여러 노드에 할당할 수 있습니다. 이전에는 노드에 페이지를 할당하려고 할 때 고유 제한 사항 위반이 발생했습니다. GitHub-363

구성 가능한 제품

  • 제품에서 구성할 수 있는 옵션을 클릭할 때 제품 이미지 갤러리에서 제품 썸네일이 더 이상 복제되지 않습니다.
  • 위시리스트에서 구성 가능한 제품을 편집할 때 표시되는 구성 팝업이 확인 단추를 클릭하면 예상대로 닫힙니다.
  • 이제 애플리케이션에서 구성 가능한 제품이 하나만 포함된 주문에 대한 송장을 올바르게 생성합니다. GitHub-31143
  • 이제 구매자는 기본이 아닌 스토어 보기에서 구성 가능한 제품을 장바구니에 추가할 수 있습니다. 이전에는 기본 스토어가 아닌 보기에서 구매자가 구성 가능한 제품을 추가하려고 할 때 응용 프로그램에 다음 오류가 표시되었습니다. Could not add item to cart. Please check required options and try again. GitHub-31660

콘텐츠 보안 정책 CSP)

  • 콘텐츠 보안 정책이 이제 data: scheme을(를) 통해 base64로 인코딩된 이미지 및 글꼴 로드를 지원합니다.

cron

  • Cron 정리 쿼리는 다음 성능 문제를 줄이거나 제거하기 위해 리팩터링되었습니다. cron개의 작업이 보류 중인 상태로 남아 있고 MySQL 쿼리가 점점 느려지며 CPU 사용량이 증가합니다. GitHub-26507
  • 24시간 이상 running 상태였던 cronjobs이(가) 이제 자동으로 error 상태로 변경됩니다. 따라서 해당 작업의 새 인스턴스가 다시 실행될 수 있으며 작업이 running 상태로 잘못 설정된 경우 작업 상태를 수동으로 변경할 필요가 없습니다. 이전에는 cronjob이(가) 상태 running에서 중단된 경우 응용 프로그램에서 동일한 작업의 새 인스턴스를 시작하지 못하도록 하므로 작업 상태를 수동으로 변경해야 했습니다. GitHub-8933
  • cron개의 작업이 예상대로 완료되었으며 더 이상 이 직렬화 오류를 발생시키지 않습니다. [Magento\Framework\DB\Adapter\DeadlockException]SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction, query was: DELETE FROM cron_schedule WHERE (status = 'missed') AND (job_code in ('indexer_reindex_all_invalid', 'indexer_update_all_views', 'indexer_clean_all_changelogs')) AND (created_at < '2018-09-28 18:32:28'). GitHub-18409
  • 이전 실패 후 indexer_update_all_views개의 cron 작업이 예상대로 실행됩니다. 실패한 실행은 cron_schedule schedule에서 실패로 표시되며 후속 실행은 자동으로 실패하지 않습니다. 이전에는 cron_schedule 테이블이 보류 중인 작업으로 가득 찼으며 indexer_update_all_views cron 작업이 실행되지 않았습니다. GitHub-23054
  • cron이(가) 그룹이 겹치는 대규모 배포에서 잠금을 설정하려고 할 때 cron 교착 상태가 더 이상 발생하지 않습니다. GitHub-8933
  • 일부 cron 작업만 실행된 후 cron_schedule 테이블에서 cron 교착 상태가 더 이상 발생하지 않습니다. GitHub-22438

사용자 지정 고객 속성

  • 상점 앞의 고객 계정 주소록에 있는 상태 필드는 이제 로 로드되며 드롭다운 페이지 요소로 유지됩니다. 이제 모든 페이지 요소가 완전히 로드될 때까지 제출 단추를 사용할 수 없습니다. 이전에는 응용 프로그램에서 이 필드를 텍스트 상자로 로드한 후 드롭다운 요소로 렌더링하고, 구매자가 텍스트 필드에 값을 입력하고 저장할 수 있으므로 나중에 체크아웃 중에 오류가 발생했습니다.
  • 이제 애플리케이션에서 상점 및 관리자 주문 페이지에 사용자 지정 고객 주소 속성을 올바르게 표시합니다. 이전에는 드롭다운 속성의 선택한 옵션이 주소 정보 섹션에서 누락되었으며, 입력 속성의 값에 속성 코드가 포함되어 있었습니다. GitHub-508
  • 파일을 업로드할 때 고객 주소 속성을 관리자 고객 주소 필드의 첨부 파일과 함께 저장하면 애플리케이션에서 더 이상 오류가 발생하지 않습니다. 이 문제는 컨트롤러 작업에서 반환 문이 누락되어 발생했습니다. 이전에는 응용 프로그램에서 다음 오류가 발생했습니다. Something went wrong while saving the file.
  • 이제 REST GET 장바구니 API 호출이 청구 및 배송 주소에 대한 올바른 사용자 지정 속성 값을 반환합니다. 이전에는 사용자 지정 주소 속성이 내 계정 상점 첫 페이지의 주문 세부 사항 페이지와 관리자에 잘못 표시되었습니다.
  • 이제 응용 프로그램에서 입력 형식이 file (attachment)인 고객 주소 특성이 포함된 파일을 성공적으로 처리했습니다. 이전에는 첨부 파일을 업로드하는 동안 응용 프로그램에서 이 오류가 발생했습니다. Something went wrong while saving the file.

고객

  • 이제 스토어 크레딧 이메일은 선택한 범위를 고려하며 올바른 이메일 주소에서 전송됩니다.
  • 이제 계정 생성 날짜별로 필터링하면 구성된 시간대 설정을 준수하고 관련 생성된 모든 계정을 캡처하는 결과가 생성됩니다.
  • 이제 고객 그리드 필터는 데이터가 이전에 캐시된 경우 제한된 사용자에 대해 올바른 웹 사이트 옵션을 사용합니다. 이전에는 고객 그리드 필터가 캐시에서 웹 사이트 매개 변수를 검색하고 제한된 사용자에 대해 잘못된 데이터를 포함했습니다.
  • 다중 웹 사이트 배포에서 하나의 웹 사이트가 삭제될 때 애플리케이션에서 더 이상 고객 관리 페이지에 예외가 발생하지 않습니다. 이전에는 관리자가 포괄적인 고객 목록에 액세스하려고 할 때 응용 프로그램에 모든 고객이 표시되지 않고 다음 오류가 표시되었습니다. The website with id 2 that was requested wasn't found. Verify the website and try again.
  • 권한이 있는 관리자는 이제 고객의 계정 정보 탭에서 고객을 다른 웹 사이트로 다시 할당할 수 있습니다.
  • 이제 입력 유형이 (File)인 고객 주소 특성을 만들 때 파일을 성공적으로 업로드할 수 있습니다. 이전에는 파일을 업로드하고 저장하려고 할 때 응용 프로그램에서 다음 오류가 발생했습니다. Something went wrong while saving the file.

고객 세그먼트

  • 이제 애플리케이션은 예상대로 상점 정면에 고객 세그먼트를 기반으로 한 관련 제품을 표시합니다. 이전에는 특정 고객 세그먼트에 대해 관련 제품 규칙을 만들 때 이 섹션이 표시되지 않았습니다.
  • 이제 게스트와 등록 고객 모두에 대해 해당 고객 세그먼트가 적용되면 등록된 고객이 장바구니에 있는 동적 블록이 표시됩니다. 이전에는 게스트에 대해서만 애플리케이션이 블록을 표시했습니다.
  • 이제 관리자로부터 주문을 받으면 고객 세그먼트가 자동으로 업데이트됩니다. 이전에는 관리 순서를 만든 후 관리 사용자가 관련 고객 세그먼트로 이동하여 관련 세그먼트 데이터를 수동으로 새로 고치고 세그먼트 데이터 새로 고침 단추를 클릭해야 했습니다.
  • 이제 관련 고객 세그먼트의 모든 고객에 대해 애플리케이션에서 장바구니에 동적 블록을 표시합니다. 기존에는 고객 세그먼트에 게스트와 등록 고객이 모두 포함된 경우에도 게스트가 블록을 보지 못했다.
  • Product was Ordered 조건을 사용하는 고객 세분화 규칙으로 인한 데이터베이스 성능 문제가 해결되었습니다.
  • REST/SOAP API에 대한 고객 세그먼트 이벤트 관찰자가 추가되었습니다. 따라서 이제 주문이 REST/SOAP API를 통해 수행될 때 세그먼트에 정의된 기준이 일치하는 경우 고객 세그먼트가 예상대로 자동으로 업데이트됩니다.
  • GraphQL 요청에 대한 고객 세그먼트 이벤트 프로세서가 추가되었습니다. 이전에는 장바구니 가격 규칙 조건에서 고객 세그먼트를 사용할 때 장바구니 가격 규칙 할인이 장바구니에 적용되지 않았습니다. GitHub-371

디렉토리

  • 체크아웃 워크플로우의 배송 섹션 중에 쇼핑객이 잘못된 우편 번호를 입력할 때 애플리케이션에서 더 이상 예외가 발생하지 않습니다. GitHub-23371

다운로드 가능

  • 이제 주문에 다운로드 가능한 제품과 다운로드 가능한 옵션이 있는 구성 가능한 제품이 모두 포함된 경우 애플리케이션에서 새 주문 이메일에 다운로드 가능한 제품에 대한 링크를 표시합니다. 이전에는 독립 실행형 다운로드 가능한 제품에 대한 링크가 표시되었지만 다운로드 가능한 옵션이 있는 구성 가능한 제품에 대한 링크가 표시되지 않았습니다.

동적 블록(이전 배너)

  • 이제 동적 블록이 지정된 페이지에만 표시됩니다. 이전에는 동적 블록이 지정되지 않은 경우 애플리케이션에서 모든 페이지에 위젯에 할당된 모든 배너를 표시했습니다.
  • 이제 빈 콘텐츠로 동적 블록을 저장할 수 있습니다.

EAV

  • 이제 고객 주소 속성 날짜 값이 두 자리 형식이 아닌 네 자리 형식으로 저장됩니다.

이메일

  • 이제 관리자 암호 재설정 페이지의 암호 재설정 링크가 예상대로 작동합니다. 이전에는 사용자 지정 템플릿을 관리자 암호 재설정 페이지에 사용할 때 관리자가 전자 메일 내부의 링크를 클릭할 때 응용 프로그램에서 이 메시지를 표시했습니다. Your password reset link has expired. 이 문제는 사용자 지정 이메일 템플릿에 사용자 ID에 대한 잘못된 변수가 포함되어 있기 때문에 발생했습니다.
  • 이제 스토어 보기 수준에서 활성화되면 관리자의 고객 이메일 전송이 제대로 작동합니다. 이전에는 스토어 보기 수준에서 이메일 알림 설정을 활성화할 때 애플리케이션에서 고객 이메일을 보내지 않았지만 글로벌 수준은 보내지 않았습니다.
  • 이제 애플리케이션은 일부 웹 사이트에서 비동기 이메일 전송을 활성화하지 않은 다중 사이트 배포에서 예상대로 이메일을 전송합니다. 이전에는 하나 이상의 웹 사이트에서 이 설정이 비활성화된 경우 활성화된 경우에도 어떤 웹 사이트에서도 이메일이 전송되지 않았습니다. 송장, 선적 및 대변 메모 이메일에도 유사한 문제가 있습니다. 그러나 주문 설명, 송장 설명, 배송 설명 및 대변 메모 설명 이메일은 정상적으로 전송되었습니다. GitHub-31950
  • 이제 관리자로부터 선물 레지스트리를 공유할 때 애플리케이션이 보내는 이메일 메시지에 레지스트리 위치에 대한 유효한 링크가 포함되어 있습니다. 이전에는 이 링크를 가져가면 404 오류가 발생했습니다. GitHub-504
  • 이제 송장 및 송장 PDF에 예상대로 번들 제품에 대한 동일한 가격이 포함됩니다. 이전에는 송장 PDF에 번들 제품에 대한 잘못된 가격이 포함되어 있었습니다. GitHub-12856
  • 반환 값이 string인지 확인하기 위해 전자 메일 템플릿 필터 메서드에 문자열 캐스팅이 추가되었습니다. 이전에는 개발자 모드가 아닌 동안 예외가 발생하면 응용 프로그램에서 phrase 개체를 반환했습니다. 이에 따라 치명적인 Uncaught TypeError이(가) 트리거되었습니다. GitHub-32671
  • 이제 다중 사이트 배포의 한 웹 사이트에서 비동기 전송을 사용할 수 있게 되면(예: 스토어 > 구성 > 판매 > 판매 이메일 > 일반 설정 > 비동기 전송) 주문 확인 이메일이 예상대로 전송됩니다. GitHub-31950
  • 고객이 연락처 양식에서 이메일을 보내려고 할 때 예외가 발생하면 애플리케이션에서 예상대로 오류를 기록합니다. GitHub-23645

프레임워크

  • 이제 관리자의 상위 클래스에서 원래 클래스 및 상속된 인터페이스와 함께 문서 블록 주석을 확인합니다. 이전에는 상위 클래스를 확인하지 않았기 때문에 이벤트를 트리거하는 관리자 내 고객 관련 작업을 수행하면 오류가 발생했습니다. 응용 프로그램에서 예외 로그에 이 오류를 기록했습니다. report.CRITICAL: Method's return type must be specified using @return annotation..
  • Redis 페이지 캐싱이 활성화된 배포에서 Redis 서버가 중지될 때 애플리케이션에서 더 이상 치명적인 오류가 발생하지 않습니다.
  • bin/magento config:set system/backup/functionality_enabled 1을(를) 사용하여 백업을 사용하도록 설정하면 응용 프로그램에서 백업에서 미디어 폴더 제외 설정을 적용합니다. 이전에는 /magento 경로가 이중 //로 잘못 구성되었기 때문에 이 설정에도 불구하고 미디어 폴더가 백업되었습니다.
  • 이제 애플리케이션에서 관리 장바구니 페이지에 대한 예상대로 번역 가능한 모든 문자열을 번역합니다. 이전에는 번역 로드가 너무 늦게 발생하여 컨트롤러 작업 사전 디스패치를 구독한 모든 관찰자를 건너뛰었습니다. GitHub-31849
  • 고객으로 로그인 확장 사용 설정을 사용하지 않도록 설정한 경우 새 고객 계정 만들기 페이지의 양식 유효성 검사가 성공적으로 작동합니다. 이전에는 애플리케이션에서 JavaScript 오류가 발생했습니다.
  • bin/magento setup:db-schema:split-sales을(를) 사용하여 데이터베이스 테이블을 이동하십시오. 이제 테이블이 만들어지고 데이터가 올바르게 채워집니다. 이전에는 테이블 존재 확인이 잘못되었기 때문에 bin/magento setup:db-schema:split-sales을(를) 실행할 때 응용 프로그램에서 SQLSTATE개의 오류가 발생했습니다.
  • ProcessManager에 의해 포크된 하위 프로세스에 대한 예외 처리가 개선되었습니다. 지금 예외가 발생하면 기본 프로세스가 종료되고 오류 메시지가 한 번만 표시됩니다. 이전에는 여러 인덱서 오류가 기록되고 여러 메시지가 표시되었습니다. GitHub-30622
  • 이 영역 파일의 di.xml에 등록된 플러그인이 없는 경우 전역 Adobe Commerce 플러그인(예: webapi_restgraphql )이 더 이상 새 사용자 지정 영역 유형에 대해 트리거되지 않습니다.
  • 초기화 중에 발생하는 예외는 더 이상 캐시되지 않으며 이제 500 응답 코드를 트리거합니다.
  • 이제 판매자는 스토어 보기별로 카탈로그 이벤트에 이미지를 할당하거나 삭제할 수 있습니다. 이전에는 카탈로그 이벤트를 편집하는 동안 스토어 보기를 변경할 때 이미지 삭제 확인란이 활성화되지 않았으며 응용 프로그램에서 다음 오류가 표시되었습니다. Uncaught ReferenceError: toggleValueElements is not defined at HTMLInputElement.onclick. GitHub-364
  • communication.xml 파일에 병합된 마지막 처리기가 이전에 만든 모든 처리기를 더 이상 재정의하지 않습니다. GitHub-29528

일반 수정 사항

  • 이제 애플리케이션에서 내 제품 리뷰 페이지와 내 계정 페이지의 최근 리뷰에 올바른 별 수를 표시합니다. 이전에는 애플리케이션에서 리뷰 별표를 첫 번째 리뷰에만 적용하고 페이지의 다른 리뷰에는 별표를 지정하지 않았습니다.
  • 이제 헤더의 계정 링크는 WCAG 표준을 따릅니다. 이전에는 헤더에 있는 계정 링크에 중복된 ID가 포함되어 있어 WCAG 유효성 검사가 실패했습니다.
  • 이제 애플리케이션에서 카탈로그 이벤트 날짜를 UTC 시간대로 저장합니다. 이전에는 애플리케이션에서 카탈로그 이벤트 날짜를 사용자의 시간대로 저장했습니다.
  • 게스트 쇼핑객이 잘못된 주소를 사용할 때 애플리케이션에서 시스템 로그 생성 오류가 더 이상 발생하지 않습니다. 이전에는 응용 프로그램에서 페이지를 렌더링하는 대신 간헐적으로 이 오류를 표시했습니다. No such entity with addressId. GitHub-15115
  • 지원되지 않는 형식의 이미지에 대해 이미지 크기 조정 프로세스가 더 이상 중지되지 않습니다. 이전에는 catalog:images:resize에서 지원되지 않는 이미지 형식이 발견되면 프로세스가 중지되고 응용 프로그램에서 다음 오류가 표시되었습니다. bin/magento catalog:images:resize Unsupported image format.
  • 로고 이미지에 대한 WEBP 및 AVIF 지원이 관리자에 추가되었습니다. GitHub-32495
  • media_gallery 특성의 범위를 더 이상 변경할 수 없습니다. 이전에는 media_gallery 특성의 범위를 다시 global(으)로 변경했을 때 응용 프로그램에서 오류가 발생했습니다.
  • 예약된 업데이트로 추가된 관련 제품은 업데이트 종료 날짜 이후에 더 이상 상점 제품 페이지에 표시되지 않습니다. GitHub-469
  • 내 계정 선물 레지스트리 페이지에서 항목 관리 ​를 클릭하면 응용 프로그램에 정확하고 유용한 메시지가 표시되며 레지스트리 제품의 재고가 부족합니다. 이전에는 응용 프로그램에서 다음 오류가 발생했습니다. Error: Call to a member function getId() …. GitHub-490
  • 이제 예상대로 새 페이지 추가 페이지에서 웹 사이트 루트 계층에 CMS 페이지를 추가할 수 있습니다.
  • 이제 엔티티 유형을 선택하면 예약된 내보내기 목록에서 필터링이 예상대로 작동합니다. 이전에는 필터가 작동하지 않았으며 애플리케이션에서 JavaScript 오류가 발생했습니다. GitHub-361
  • 이제 데이터베이스 저장소 메서드를 사용하여 범주를 저장할 때 범주 이미지가 예상대로 catalog/tmp/category 디렉터리에서 catalog/category 디렉터리로 복사됩니다. 이제 media_storage_file_storage 테이블의 이미지 행에도 올바른 directory_id이(가) 있습니다. GitHub-11995
  • 이제 CMS 계층에 변경 사항을 제출한 후 예상대로 상인에 무효화된 캐시에 대한 알림이 표시됩니다. 이전에는 CMS 계층 구조를 저장하는 동안 애플리케이션에서 캐시를 무효화하지 않았습니다.
  • 장바구니의 장바구니 섹션에 대한 중복 AJAX 요청이 감소되었습니다. 이전에는 애플리케이션이 장바구니 소계를 제대로 로드하지 않아 장바구니 다시 로드를 트리거했습니다.
  • PHP 7.4를 실행하는 배포에서 카테고리/제품 URL 다시 쓰기 생성 설정이 아니요(으)로 설정되어 있고 쇼핑객이 존재하지 않는 카테고리 경로에 액세스하려고 하면 응용 프로그램에서 404 오류를 반환합니다. 이전에는 응용 프로그램에서 Trying to access array offset on value of type bool을(를) 나타내는 500 오류가 반환되었습니다. GitHub-31984
  • 이제 디자인 그룹 및 디자인 업데이트 예약 그룹이 제거된 특성 집합을 사용하여 만든 제품을 편집할 수 있습니다. 이전에는 해당 속성 집합에서 만든 제품을 편집하려고 하면 애플리케이션에서 치명적인 오류가 발생했습니다. GitHub-44
  • nowdoc이(가) Magento_Backend 스토어 전환기에서 heredoc을(를) 대체했습니다. GitHub-32262
  • 이제 관리자는 로그인 후 요청된 관리 페이지로 직접 리디렉션됩니다. 이전에는 관리자가 로그인하면 관리 대시보드(또는 시작 페이지로 구성된 페이지)로 리디렉션되어 대상으로 수동으로 이동해야 했습니다. GitHub-31042
  • 아르헨티나, 볼리비아, 칠레, 에콰도르, 가이아나, 파라과이, 페루, 수리남 및 베네수엘라 지역을 directory_country_region 표에 추가했습니다. GitHub-31169
  • 알바니아, 덴마크, 그리스, 아이슬란드, 포르투갈, 스웨덴 지역을 directory_country_region 표에 추가했습니다. GitHub-31040
  • 이제 예외가 발생하면 MysqlMQ 메시지 큐에서 오류로 플래그가 지정됩니다. GitHub-18140
  • 이제 관리 대변 메모 및 송장 페이지에 대한 세금 정보를 로드할 때 애플리케이션에서 올바른 분류 객체를 참조합니다. GitHub-31197
  • Royal Mail Click & Drop 통합이 이제 예상대로 작동합니다. 이전에는 이 통합을 활성화하려고 할 때 응용 프로그램에서 이 오류가 발생했습니다. Sorry! Something went wrong. Please try again later. GitHub-28996
  • 이제 잘못된 선적, 대변 메모 또는 송장 ID가 URL로 전달될 때 애플리케이션에서 정보 오류 메시지를 표시합니다. 이전에는 애플리케이션에서 치명적인 오류가 발생했습니다. GitHub-30424
  • 정적 파일의 위치에서 재귀가 제거되었습니다. 이제 애플리케이션에서 500 오류 대신 404 페이지를 표시합니다. 이전에는 기본 NGINX 구성의 버그로 인해 무한 재귀가 발생했습니다. GitHub-31530
  • cms_index_noroute.xml 파일의 이름이 cms_noroute_index.xml(으)로 수정되었습니다. GitHub-31300
  • .editorconfig 파일이 db_schema_whitelist.json 파일의 자동 서식을 수정하도록 리팩터링되었습니다. GitHub-31171
  • 브라우저 창의 크기를 조정해도 더 이상 중복 바인딩 돋보기 이벤트가 트리거되지 않습니다. GitHub-30788
  • user_id까지 Magento\Users\Model\ResourceModel\Users\Collection을(를) 필터링할 때 응용 프로그램에서 더 이상 SQL 예외를 throw하지 않습니다. GitHub-31216

기프트 카드

  • 이제 기프트 카드를 취소하면 기프트 카드에서 보류 중인 결제 요금이 예상대로 제거됩니다. 이전에는 기프트 카드가 삭제된 후 cron을(를) 실행할 때 응용 프로그램에서 오류가 발생했습니다.
  • 이제 쇼핑객은 여러 주소로 체크아웃할 때 주문 검토 페이지의 주문에서 기프트 카드를 제거할 수 있습니다. 이전에는 구매자가 카드를 선택한 다음 제거 ​를 클릭해도 애플리케이션에서 주문에서 기프트 카드를 제거하지 않았습니다.
  • 이제 애플리케이션에서 장바구니에 기프트 카드를 추가한 후 기프트 카드의 값을 변경하면 장바구니에 기프트 카드의 새 가격이 표시됩니다.
  • 가격 범위 유효성 검사 논리가 기프트 카드 만들기 페이지에 추가되었습니다. 이전에는 관리자가 최소값이 최대값을 초과하는 카드를 만들 수 있었습니다. GitHub-493
  • addRequisitionListItemsToCart 쿼리가 이제 요청에 allow_open_amount에 대한 값이 없을 때 사용자 지정 기프트 카드의 금액을 예상대로 반환합니다.

선물 메시지

  • 이제 setGiftOptionsOnCart 돌연변이가 선물 메시지를 올바르게 만듭니다. GitHub-388

선물 등록

  • 선물 레지스트리를 만들거나 편집하는 동안 이벤트 날짜 값이 상점 및 관리자의 값과 동일합니다. 이전에는 선물 레지스트리를 편집하고 저장할 때마다 응용 프로그램이 상점 및 관리자 모두에서 이벤트 날짜 ​를 하루 뒤로 조정했습니다. GitHub-466
  • 선물 등록에서 비활성화된 제품이 더 이상 애플리케이션에 표시되지 않습니다. 이전에는 선물 레지스트리에 제품을 추가한 후 사용하지 않도록 설정한 경우 쇼핑객이 레지스트리에 액세스할 때 이 메시지가 표시되었습니다. Error: Call to a member function getId() …. GitHub-510

선물 포장

  • 이제 스토어 조회수에 대한 선물 포장 레이블 번역이 예상대로 작동합니다.
  • 선물 포장은 이제 여러 주소로 배송되는 주문에 대해 예상대로 적용됩니다.
  • 이제 모든 제품이 제거되면 애플리케이션에서 장바구니에서 선물 포장 비용이 제거됩니다.
  • 이제 대변 메모에 선물 포장 및 구성 가능한 제품 요금이 포함된 경우 대변 메모 합계가 정확합니다. 기존에는 선물포장 세액이 항상 대변 메모 총액에 포함되는 것은 아니었다. GitHub-34

Google Analytics

  • Google Analytics이 활성화되면 관리자가 상점 첫 화면에서 페이지를 로드하려고 할 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다. AJAX 요청 to www.google-analytics.com을 허용하도록 connect-src에 대한 CSP 항목이 추가되었습니다. GitHub-30880

Google 태그 관리자

  • 이제 Google Tag Manager가 활성화되면 체크아웃 워크플로우의 결제 페이지에서 청구 주소에 대한 UI 구성 요소가 견적 주소를 올바르게 사용합니다. 이전에는 결제 페이지에서 JavaScript 오류가 발생했습니다.

GraphQL

  • 이제 GraphQL products 쿼리가 특성 편집 페이지에서 사용된 것과 동일한 정렬 순서로 정렬된 특성 옵션을 반환합니다.
  • 이제 { category(id: 2){ children { name children { name } } } } GraphQL 요청에 대한 응답에 올바르게 정렬된 범주 트리가 포함됩니다.
  • 이제 CartItemPrices 개체에는 장바구니 항목에 적용되는 고정 제품 세금의 배열을 반환하는 새 GraphQL 필드 fixed_product_taxes이(가) 포함되어 있습니다. 이전에는 장바구니 항목에 적용된 고정 제품 세금이 장바구니 쿼리에 포함되지 않았습니다.
  • 이제 GraphQL에 대한 빈 요청은 500개가 아닌 200개의 응답 코드를 발생시킵니다. 이전에는 GraphQL 파서에서 쿼리 결과가 생성되기 전에 예외를 throw했습니다.
  • applyRewardPointsToCart 돌연변이는 이제 장바구니의 총계를 업데이트하여 공제된 보상 포인트의 값을 정확하게 반영합니다. GitHub-486
  • GraphQL을 사용하여 상향 판매 제품을 연결하는 경우 비활성화된 제품은 더 이상 GraphQL 응답에 포함되지 않습니다.
  • 이제 게스트 체크아웃을 사용하지 않도록 설정한 경우 판매자는 GraphQL setShippingAddressesOnCart 메서드를 사용하여 구매자의 장바구니에 대한 청구 및 배송 주소를 설정할 수 있습니다.
  • CategoryTree 개체에 여러 조각이 포함되어 있는 경우 categoryList 쿼리에서 더 이상 예외가 발생하지 않습니다. GitHub-31086
  • 이제 GraphQL product 쿼리가 올바른 고객 그룹 가격을 반환합니다.
  • 이제 GraphQL products 쿼리 응답이 제품 특성 위치에 따라 집계를 정렬합니다.
  • 제품 및 카테고리 URL 접미사에 null 값이 포함된 경우 애플리케이션에서 GraphQL 쿼리 중에 더 이상 형식 오류가 발생하지 않습니다. GitHub-30909
  • 이제 CustomizableDateValue 개체에 type 특성이 있습니다. 이 값은 DATE, DATE_TIME 또는 TIME으로 설정할 수 있는 열거형입니다.
  • dynamicBlocks 쿼리이(가) 지정된 필터와 일치하는 동적 블록의 내용을 반환합니다.
  • 이제 POST V1/products/special-price-delete 요청에서 예상대로 지정된 store_id의 가격만 삭제합니다. 이전에는 이 호출로 모든 스토어에서 지정된 SKU에 대한 모든 특별 가격이 제거되었습니다. GitHub-25907
  • createGiftRegistry 돌연변이에 있는 country_code 특성 오류를 수정했습니다.
  • updateGiftRegistryItems 돌연변이의 giftRegistryUid 특성 문제를 해결했습니다.
  • updateGiftRegistryRegistrants 돌연변이가 임의의 사용자를 등록자로 선물 레지스트리에 추가하는 데 사용되지 않도록 하는 추가 검사를 추가했습니다.
  • 이제 addConfigurableProductsToCart 돌연변이가 지정된 제품의 올바른 썸네일을 반환합니다. 이전에는 상위 제품의 썸네일을 반환했습니다.
  • 미래 날짜에 대해 특별 가격 기간이 설정된 경우 products 쿼리가 더 이상 제품의 특별 가격을 표시하지 않습니다. GitHub-30210, GitHub-29631
  • 이제 customer 쿼리 응답에 total_giftcard 특성이 OrderTotal 개체의 일부로 포함됩니다.
  • products 쿼리에서 계층 가격 설정이 없는 항목의 가격 계층에 대한 잘못된 정보를 반환하는 문제를 해결했습니다. GitHub-32279

이미지

  • 이제 POST /V1/product/:sku 끝점을 사용하여 번들 제품을 만들거나 업데이트하는 동안 required_options 및 has_options 번들 특성을 예상대로 설정할 수 있습니다. 이전에는 이러한 사용자 지정 속성을 1(1)로 설정하려는 노력에도 불구하고 0으로 설정되었습니다.

가져오기/내보내기

  • 이제 내보내기 페이지 엔티티 속성 표의 제품 엔티티에 대한 카테고리 ID 필터가 예상대로 작동합니다.
  • 이제 그룹화된 제품 스톡 상태가 모든 하위 제품의 재고가 없을 때 재고가 없을 것으로 예상대로 업데이트됩니다. GitHub-32647
  • 이제 구성 가능한 제품 스톡 상태가 임포트에 의해 하위 제품 스톡 상태가 업데이트되면 예상대로 자동으로 업데이트됩니다. 이전에는 하위 제품 재고 상태가 임포트에 의해 업데이트될 때 제품 재고 상태가 자동으로 업데이트되지 않았습니다.
  • 이제 예약된 내보내기에 빈 값을 저장할 수 있습니다. 이전에는 내보내기 생성 또는 저장 후 애플리케이션에서 빈 필터 값을 업데이트했습니다. nonot specified 값이 모두 데이터베이스에서 0으로 표시되었으며 not selected 값이 no(으)로 재정의되었습니다.
  • 이제 내보내기 프로세스에서 제품, 재고 소스 및 고객 엔티티를 내보낼 때 사용자 역할 범위를 고려합니다. 이전에는 내보내기 프로세스에서 개인 사용자 역할 내보내기 엔티티를 내보낼 수 있는 사용자 역할 범위를 무시했습니다.
  • 이제 tax_class_name 값이 None 또는 0인 제품을 가져오는 경우 응용 프로그램에서 제품 세금 클래스를 None(으)로 설정합니다. 이전에는 CSV 파일에서 product tax_class_name이(가) None이면 응용 프로그램에서 새 세금 클래스 None을(를) 만들어 기존 세금 클래스를 복제했습니다. CSV 파일에서 product tax_class_name이(가) 0인 경우 응용 프로그램에서 해당 값을 무시했으며 가져온 후 제품 세금 클래스가 변경되지 않았습니다.
  • 이제 관리자는 관리자로부터 번들 제품 bundle_valuesname을(를) 변경할 수 있습니다. 이전에는 관리자의 이름을 변경한 후 애플리케이션에 제품이 품절로 상점 앞에 표시되었습니다. 또한 제품은 동일한 SKU와 하나의 번들 옵션 섹션으로 병합되었습니다.
  • 이제 고객 데이터를 내보낼 때 애플리케이션에서 사용자 범위를 고려합니다. 이전에는 고객을 내보내려고 하면 애플리케이션이 모든 웹 사이트에서 고객 데이터를 내보냈습니다.
  • __EMPTY__VALUE__이(가) CSV 파일에 지정된 경우 응용 프로그램은 CSV 파일 가져오기 중에 예상대로 상향 판매, 교차 판매 및 관련 제품 간의 제품 관계를 제거합니다.
  • 많은 고객(관리자 시스템 > 내보내기)의 사용자 지정 주소 데이터를 내보내도 더 이상 일반적으로 메모리 오류가 발생하지 않습니다. 이전에는 사용자 지정 주소 데이터를 내보낼 때 애플리케이션에서 모든 고객 데이터를 로드하려고 했으므로 메모리가 고갈되고, 애플리케이션에서 메모리 할당 실패 오류가 발생했습니다.
  • 기본 CSV 가져오기 프로세스 중에 더 이상 중복 계층 가격을 가져오지 않습니다. 기존에는 중복 계층 가격의 수입을 막기 위해 유효성 검증이 누락됐고, 중복 계층 가격이 발생하면 가맹점은 상품을 살리지 못했다. 판매자가 제품 변경을 예약하려고 할 때도 이 오류가 발생했습니다. SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry….
  • 이제 가져오는 동안 모든 제품 이미지의 유효성이 검사됩니다. 이전에는 제품에 여러 이미지가 있을 때 애플리케이션에서 첫 번째 이미지만 검증했습니다. GitHub-28236
  • 이제 가져오는 동안 예상대로 고객 주소에서 지역을 삭제할 수 있습니다. 이전에는 고객 주소를 빈 영역으로 가져올 때 지정된 영역이 변경되지 않았습니다.
  • 이제 추가 제품 속성으로 JSON 또는 HTML 콘텐츠가 포함된 제품을 CSV 파일로 올바르게 내보냅니다. 이전에는 CSV 파일에 잘못된 필드에 겹친 데이터 문자열이 포함되어 있었습니다.

색인

  • 이제 하위 프로세스가 실패하면 프로세스 매니저가 종료되고 오류가 발생합니다. 이전에는 전달된 함수(예: 인덱서 차원)의 수가 MAGE_INDEXER_THREADS_COUNT 환경 변수의 값보다 적은 경우 프로세스 관리자가 항상 성공적으로 종료되었습니다. GitHub-30964
  • 이제 인덱서 모드가 저장 시 업데이트 ​로 설정된 경우 REST PUT /V1/products/:sku/links 요청을 사용하여 제품을 연결할 때 상점 검색 결과에 예상대로 제품을 사용할 수 있습니다.
  • 이제 인덱서 모드가 저장 시 업데이트(으)로 설정된 경우 카탈로그 가격 규칙 인덱서가 예상대로 작동합니다. GitHub-370
  • 이제 제품이 포함되지 않은 비활성화된 범주를 삭제해도 카탈로그 검색 및 범주 플랫 색인 테이블에는 영향을 주지 않습니다. 이전에는 비활성 카테고리를 삭제하면 전체 다시 색인이 트리거되었습니다. GitHub-23297
  • 이제 사용자 지정 인덱서가 구독에 대해 다른 엔티티 열 이름을 사용할 수 있습니다. 이전에는 데이터베이스 트리거에서 인덱서가 지정된 인덱서가 아닌 일정별 업데이트(으)로 마지막으로 설정된 인덱서의 열 이름을 사용했습니다. GitHub-21853
  • 응용 프로그램에서 더 이상 요청의 영향을 받지 않는 고객 데이터 섹션(Magento_Customer/js/section-config)을 다시 로드하기 위한 AJAX 요청을 보내지 않습니다. GitHub-31948
  • 범주의 제품 catalog_category_productcatalogsearch_fulltext(및 해당 종속 항목)을 추가, 제거 또는 재정렬한 후에는 다음 인덱서가 더 이상 무효화되지 않습니다. 이전에는 이러한 의도치 않은 제거로 인해 사이트의 전체 리인덱싱이 트리거되었습니다. 플랫 카탈로그가 활성화되지 않은 경우 이러한 조건에서 전체 색인 재지정이 금지됩니다.

인프라

  • 종속성 pelago/emogrifier이(가) 버전 3.1.0에서 5.0.0으로 업데이트되었습니다. 이 업데이트로 인해 Magento\Email\Model\Template\Filter 클래스에 이전 버전과 호환되지 않는 변경 내용이 도입되었습니다. 변경된 코드는 이메일 템플릿 렌더링 중에 실행됩니다. BIC 참조를 참조하십시오.
  • 새 제품을 저장할 수 없는 \Magento\CatalogInventory\Model\Indexer\Stock\CacheCleaner::getCategoryIdsByProductIds 문제를 해결했습니다.
  • 더 이상 사용되지 않는 TinyMCE v3 라이브러리가 제거되었습니다. TinyMCE v3.x와 관련된 Magento_Tinymce3Banner 모듈 및 MTF 테스트가 Adobe Commerce에서 제거되었습니다.
  • 쇼핑객이 프랑스어 문자 기호(예: "é", "è")가 포함된 전자 메일 주소를 입력하면 애플리케이션에서 연락처 양식에 Invalid header value detected 오류가 더 이상 발생하지 않습니다. 이제 응용 프로그램에서 사용자 이름의 UTF-8 문자를 ASCII 인코딩으로 변환합니다. 이전에는 UTF-8 문자가 이메일 주소의 고유 섹션에서 ASCII 인코딩으로 변환되지 않았습니다.
  • 플러그인이 상위 클래스에 추가될 때 애플리케이션에서 더 이상 PHP 치명적인 오류가 발생하지 않습니다. GitHub-31291
  • Magento_Msrp, Magento_MsrpConfigurableProduct, Magento_MsrpGroupedProduct, Magento_Multishipping, Magento_MysqlMq 모듈에 대한 README.md 파일을 업데이트했습니다. GitHub-32577
  • PHP 8 호환성을 위해 phpcpd이(가) v6.0.3으로 업데이트되었습니다.
  • PHP 8 호환성을 위해 colinmollenhour/php-redis-session-abstract이(가) v1.4.4로 업데이트되었습니다. GitHub-32709
  • phpstan.neon 파일에서 탭과 공백의 잘못된 조합이 수정되었습니다. GitHub-31239
  • 코드 베이스 전체에서 사용되지 않는 속성 $_isScopePrivate을(를) 제거했습니다. GitHub-30506
  • 페이지 레이아웃이에서 더 이상 하드 코딩되지 않음 Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container. 따라서 getPageLayouts() 함수는 이제 다른 모듈에서 선언한 실제 페이지 레이아웃 목록을 예상대로 반환합니다. 이전에는 하드 코딩된 레이아웃만 반환했습니다. GitHub-31168
  • composer.lock 파일이 최신 버전의 코딩 표준으로 업데이트되었습니다. GitHub-31152
  • web-token/jwt-framework 패키지에 대한 누락된 종속성을 magento/module-jwt-framework-adapter에 추가했습니다. GitHub-32578
  • 등대 지표 점수를 개선하기 위해 수동 수신기를 fotorama.js 라이브러리에 추가했습니다. GitHub-31140
  • Google Analytics 모듈용 README.md 파일이 업데이트되었습니다. GitHub-32616
  • 이제 Process Manager는 포크된 프로세스에서 예외를 제대로 처리합니다. 이제 기본 프로세스가 종료되고 응용 프로그램에 오류 메시지가 한 번만 표시됩니다. 또한 포크된 프로세스의 예외는 이제 기본 프로세스에서 throw될 때 처리됩니다. 이전에는 응용 프로그램이 여러 인덱서 오류를 기록하고 여러 오류 메시지를 표시했습니다. GitHub-30622
  • 플러그인이 상위 클래스에 추가될 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다. (이제 Assest.php에서 optionsProvider 매개 변수가 getContentIdentities 뒤에 선언되었습니다.) 이전에는 응용 프로그램에서 다음 오류가 발생했습니다. Error: Cannot instantiate interface Magento\Framework\Data\OptionSourceInterface. GitHub-31291
  • 빈 폴더에서 Magento\Framework\Filesystem\Io\Ftp::ls()을(를) 실행하면 예상대로 빈 배열이 반환됩니다. 이전에는 응용 프로그램에서 Invalid argument supplied for foreach() in vendor/magento/framework/Filesystem/Io/Ftp.php… 예외를 throw했습니다. GitHub-31288
  • app/code/Magento/Authorization/Model/Role.php에서 역할 및 규칙에 대한 update 메서드가 더 이상 사용되지 않는 것으로 표시되었습니다. GitHub-30756
  • SameSite 쿠키 매개 변수에 대한 연결이 수정되었습니다. 이전에는 잘못된 연결로 value, domain 및 기타 매개 변수에 lex 접미사가 추가되었습니다. GitHub-26377, GitHub-32440
  • 코드 베이스에서 allure-framework/allure-phpunit이(가) v1.3.1로 업그레이드되었습니다. 이전에는 응용 프로그램에 다음 오류가 표시되었습니다. Warning: Use of undefined constant GLOB_BRACE - assumed 'GLOB_BRACE' (this will throw an Error in a future version of PHP) in /var/www/html/src/vendor/allure-framework/allure-phpunit/src/Yandex/Allure/Adapter/AllureAdapter.php:74. GitHub-24635
  • 이제 프로덕션 모드에서 bin/magento 명령을 실행하는 동안 오류가 발생하면 응용 프로그램에서 더 많은 오류를 표시합니다. 이전에는 오류 메시지가 표시되지 않거나 정보가 부족한 메시지가 표시되었습니다. GitHub-32786
  • ArrayIterator PHP 개체가 PHP 7.4에서 예상대로 작동하도록 업데이트되었습니다. GitHub-32088
  • 배송 운송업체를 사용할 수 없을 때 고객이 주문을 완료하려고 할 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다. 대신 체크아웃 페이지와 Sorry, no quotes are available for this order at this time 메시지가 표시됩니다. 이전에는 응용 프로그램에서 빈 체크 아웃 페이지를 표시하고 이 메시지를 예외 로그에 기록했습니다. array_keys() expects parameter 1 to be array, null given. GitHub-30830
  • 애플리케이션에서 더 이상 각 쿠키를 별도의 컨텍스트로 기록하지 않습니다. $_COOKIE 배열도 문자열로 변환되었습니다. 이전에는 각 쿠키가 별도의 컨텍스트로 기록되었기 때문에 쿠키 수가 50개를 초과하면 응용 프로그램에서 다음 메시지를 기록했습니다. Unable to send the cookie. Maximum number of cookies would be exceeded. GitHub-31334

인보이스

  • 관리자에서 새 송장을 만들 때 의 전자 메일 복사본 확인란이 예상대로 작동합니다. 판매 전자 메일 ​에서 송장 전자 메일을 보내는 전역 설정을 사용하도록 설정한 경우 이전에는 확인란이 무시되었습니다. 이제 일관되고 선적 및 대변 메모 작성 페이지와 동일한 방식으로 작동합니다. GitHub-28511

미디어 갤러리

  • XMP 정보가 없는 PNG 이미지를 처리할 때 bin/magento media-gallery:sync이(가) 예상대로 실패합니다.
  • 관련 제품이 삭제되면 catalog_product_entity_media_gallery 테이블의 항목이 예상대로 제거됩니다. GitHub-17727
  • 이제 JavaScript 축소가 활성화되면 미디어 갤러리에서 이미지 세부 사항을 업데이트할 수 있습니다. 이전에는 이미지 세부 정보가 저장되지 않았으며 응용 프로그램에 다음 오류가 표시되었습니다. TypeError: Cannot read property 'call' of undefined in jquery.validate. GitHub-31633

MTF

새로운 기능 및 MFTF 핵심 버그 수정 사항은 기능 테스트 프레임워크 변경 로그에 설명되어 있습니다.

  • Bundle, Catalog, CatalogRule, CatalogRuleConfigurable, CatalogUrlRewrite, Downloadable, Indexer, PaypalSales 모듈의 실행을 개선하기 위해 magento indexer:reindexcache:flush 명령과 AdminReindexAndFlushCache 작업 그룹이 테스트에서 제거되었습니다. GitHub-31031
  • 테스트 실패를 방지하기 위해 AdminSubmitCategoriesPopupActionGroup이(가) 테스트에 추가되었습니다. GitHub-31251
  • 테스트가 StorefrontCheckQuickSearchStringActionGroupStorefrontAssertProductNameOnProductMainPageActionGroup(기존 작업 그룹)로 리팩터링되었습니다. GitHub-31251

리팩터링된 테스트

실행 시간을 개선하기 위해 다음 테스트가 리팩터링되었습니다.

AddOutOfStockProductToCompareListTest

AdminApplyTierPriceToProductWithPercentageDiscountTest

AdminCheckingCreditMemoTotalsTest

AdminCheckDashboardWithChartsTest

AdminConfigDefaultProductLayoutFromConfigurationSettingTest

AdminCreateInvoiceTest

AdminCreateOrderAddProductCheckboxTest

AdminMassOrdersCancelCompleteAndClosedTest

AdminMassOrdersCancelProcessingAndClosedTest

AdminMassOrdersHoldOnCompleteTest

AdminMassOrdersHoldOnPendingAndProcessingTest(더 이상 사용되지 않는 AdminMassOrdersHoldOnPendingAndProcessingTest 대신)

AdminMassOrdersUpdateCancelPendingOrderTest

AdminMassProductPriceUpdateTest

AdminMassUpdateProductAttributesMissingRequiredFieldTest

AdminOrdersReleaseInUnholdStatusTest

AdminPanelIsFrozenIfStorefrontIsOpenedViaCustomerViewTest

AdminSortingByWebsitesTest

AdminUpdateSimpleProduct

AdminUpdateSimpleProductWithRegularPriceInStockEnabledFlatTest

AdminValidateShippingTrackingNumberTest

CancelOrdersInOrderSalesReportTest

ProductsQtyReturnAfterOrderCancelTest

StorefrontConfigurableProductBasicInfoTest

작업 그룹

다음 테스트에서는 반복 작업이 조치 그룹으로 대체되었습니다.

AdminCheckConfigurableProductPriceWithDisabledChildProductTest

AdminConfigurableProductCreateTest

AdminConfigurableProductRemoveAnOptionTest

AdminCreateProductDuplicateUrlkeyTest

AdminCreateSimpleProductNegativePriceTest

AdminCreateSimpleProductZeroPriceTest

AdminCreateVirtualProductFillingRequiredFieldsOnlyTest

AdminUpdateSimpleProductWithRegularPriceInStockDisabledProductTest

AdminUpdateSimpleProductWithRegularPriceInStockNotVisibleIndividuallyTest

AdminUpdateSimpleProductWithRegularPriceInStockVisibleInCatalogOnlyTest

새 작업 그룹

AdminClearFiltersOnGridActionGroup

AdminClickAddNewPageOnPagesGridActionGroup

AdminClickInsertWidgetActionGroup

AdminClickRefundOfflineOnNewMemoPageActionGroup

AdminFillAccountInformationOnCreateOrderPageActionGroup

AdminGoToOrderStatusPageActionGroup

AdminOpenCMSPagesGridActionGroup

AdminSelectAttributeSetOnEditProductPageActionGroup

AssertAdminProductIsAssignedToCategoryActionGroup(필터링 제품 그리드를 SKU로 대체하고 테스트 실행 시간을 줄이기 위해 첫 번째 행을 클릭)

AssertLinkActionGroup

AssertStorefrontCartDiscountActionGroup

ClickPlaceOrderActionGroup

SaveCmsPageActionGroup

StorefrontAssertProductNameIsNotOnProductMainPageActionGroup

StorefrontGuestCheckoutProceedToPaymentStepActionGroup

StorefrontHoverProductOnCategoryPageActionGroup

StorefrontSelectCustomizeAndAddToTheCartButtonActionGroup

삭제된 작업 그룹

  • Backend, Bundle, BundleImportExport, Catalog, CatalogRule, CatalogSearch, Checkout, Downloadable, Elasticsearch, Elasticsearch6, Indexer, LayeredNavigation, LoginAsCustomer, Newsletter, Sales, SalesRule, Search, Store, Swatches, UrlRewrite, WeeeWishlist 모듈에 대한 실행 시간을 개선하기 위해 테스트에서 CliIndexerReindexActionGroup을(를) 제거하거나 값을 변경했습니다.
  • Catalog, CatalogUrlRewrite, Checkout, Config, ConfigurableProduct,Contact, Cookie, CurrencySymbol, Customer, Downloadable, Elasticsearch, Elasticsearch6, Fedex, Indexer, LayeredNavigation, LoginAsCustomer, Msrp, Multishipping, Sales, Swatches, Translation, UrlRewrite, Vault, WeeeWishlist 모듈에서 CliCacheFlushActionGroup을(를) 제거했습니다.

뉴스레터

  • 뉴스레터 대기열 생성과 뉴스레터 전송 사이의 기간에 뉴스레터 구독을 취소한 고객에게 애플리케이션이 더 이상 뉴스레터 이메일을 전송하지 않습니다. GitHub-32116
  • 이제 응용 프로그램에서 뉴스레터 활성화 설정을 적용합니다(스토어 > 설정 > 구성 > 고객 > 뉴스레터 > 일반 옵션). 이전에는 이러한 설정이 다중 스토어 배포의 기본 범위에서 항상 검색되었습니다. GitHub-31188
  • 이제 REST 호출 GET /V1/customers/search이(가) 여러 뉴스레터를 구독한 고객에 대해 올바른 정보를 반환합니다. GitHub-31168
  • 캐싱 구독 상태가 뉴스레터 플러그인에서 제거되었습니다. GitHub-19345

주문

  • 이제 애플리케이션은 부분 송장이 발행된 주문의 고객 계정에 스토어 크레딧을 반환할 때 송장이 발행된 고객 잔액을 올바르게 계산합니다.
  • 이제 애플리케이션은 환불 고객 잔액을 저장할 때 예상대로 수정된 주문을 저장합니다. GitHub-393

결제 방법

  • 이제 응용 프로그램에서 전자 메일이 전송된 영역에 관계없이 frontend에 결제 블록을 렌더링합니다. (이제 결제 블록이 렌더링되기 전에 현재 영역이 frontend(으)로 에뮬레이션됩니다.) 이전에는 전자 메일이 전송된 영역에서 결제 블록이 렌더링되었습니다. 그 결과, 판매 전자 메일이 관리자로부터 트리거되었는지 또는 REST API에 의해 트리거되었는지에 관계없이 에셋에 대한 URL이 잘못된 영역(webapi_rest 또는 adminhtml)에서 해당 에셋을 로드하려고 했습니다.
  • 이제 애플리케이션에서 체크아웃 중에 지정된 이메일 주소로 다운로드 가능한 제품에 대한 링크를 보냅니다. 기존에는 게스트 쇼퍼가 PayPal Express Checkout을 사용해 주문과 체크아웃을 위해 서로 다른 이메일 주소를 입력하면 애플리케이션이 다운로드 가능한 제품 링크를 첫 번째 주소로 전송했다.
  • 이제 응용 프로그램이 여러 통화를 지원하는 배포의 결제 방법 페이지에 사용 가능한 스토어 크레딧에 대한 정확한 값을 표시합니다.
  • 이제 결제 방법 목록은 게스트 쇼핑객이 체크아웃 중에 주문의 배송 주소를 다른 국가로 변경할 때 예상대로 업데이트됩니다. 이전에는 청구 주소를 변경해도 가능한 결제 방법에 대한 업데이트가 트리거되지 않았습니다.

PayPal

  • 이제 구매자는 특수 문자가 포함된 배송 주소로 PayPal Payflow Pro 주문을 성공적으로 체크아웃할 수 있습니다. 이전에는 애플리케이션에서 이러한 주문에 대한 지불을 거부했습니다.
  • 이제 구매자는 PayPal을 사용하여 성공적으로 지불한 후 주문 성공 페이지로 다시 리디렉션됩니다. 이전에는 세션 데이터가 손실되어 쇼핑객이 빈 페이지로 리디렉션되었습니다.

성능

  • 대형 카탈로그에 대한 관리 SKU 검색 성능이 개선되었습니다. 이제 쿼리 최적화 프로그램 힌트를 사용하여 쿼리를 실행하는 동안 인덱스를 강제 사용합니다.
  • 큰 테이블(수백만 행)에서 실행할 때 catalog_product_alert cron 프로세스의 성능이 향상되었습니다. 이전에는 catalog_product_alert에서 모든 제품 알림을 로드하여 메모리 부족 예외가 발생했습니다.
  • 관리 양식을 렌더링하기 위해 하나의 편집 페이지만 필요한 경우 응용 프로그램에서 더 이상 모든 CMS 페이지를 로드하지 않습니다. 이제 이러한 페이지가 더 빨리 로드됩니다. GitHub-30936
  • 이제 WHERE IN 식의 숫자 값이 문자열이 아닌 숫자로 캐스팅되어 일부 버전의 MariaDB에서 쿼리 성능이 향상됩니다. GitHub-31135

  • use_application_lock 모드를 사용하면 환경 변수를 사용하거나 app/etc/env.php 파일을 구성하여 다시 인덱싱을 사용할 수 있습니다. 이 모드가 활성화된 상태에서 실패 후 더 이상 인덱서를 수동으로 재설정할 필요가 없습니다. 이 모드가 활성화되지 않은 경우 실패 후 인덱서를 수동으로 재설정해야 합니다. 다시 인덱싱 프로세스에 응용 프로그램 잠금 모드 사용을 참조하세요.

가격 책정

  • 이제 쇼퍼가 상점에서 제품 수량을 업데이트할 때 애플리케이션에서 그룹화된 가격으로 제품 가격을 올바르게 업데이트합니다. GitHub-32669
  • 이제 제품에 계층 가격이 할당되고 Magento\Framework\Api\ExtensibleDataObjectConverter이(가) 제품 데이터를 변환하는 데 사용되면 번들 제품을 저장할 수 있습니다. 이전에는 제품을 저장할 때 제품 데이터를 배열로 변환하는 데 Magento\Framework\Api\ExtensibleDataObjectConverter을(를) 사용하면 응용 프로그램에서 제품을 저장하지 않고 다음 오류가 표시되었습니다. Notice: Undefined index: price in app/code/Magento/Catalog/Model/Product/Type/Price.php on line 382.
  • 이제 예약된 가격 업데이트가 구매자의 장바구니에 이미 있는 제품에 적용됩니다. GitHub-356
  • 이제 수량 증분이 활성화되고 소수점 재고가 1보다 작은 경우 계층 가격이 예상대로 제품에 적용됩니다. 이전에는 최소 계층 가격 수량이 1로 설정되었습니다.

제품 비디오

  • 이제 비디오 추가 단추(관리자 카탈로그 > 제품)를 사용하여 여러 비디오를 연속적으로 추가할 수 있습니다. 이전에는 비디오 필드에 이전 비디오의 세부 사항이 유지되었습니다.
  • 제품 페이지에서 제품 비디오에 대한 전체 화면 모드로 전환하면 이제 모바일 장치에서 예상대로 작동합니다. 이전에는 전체 화면 모드로 전환하면 전체 화면 모드를 종료하기 전에 비디오가 일시 중지되었습니다.
  • 이제 탐색 화살표 단추(NextPrev)가 상점 앞 제품 비디오에 예상대로 표시됩니다.
  • 판매자는 이제 예상대로 제품 페이지의 비디오 삽입 단추를 사용하여 Vimeo 비디오를 추가할 수 있습니다. 이전에는 응용 프로그램에 404 오류가 표시되었습니다. GitHub-31753

견적

  • 이제 /V1/guest-carts/examplecartid/items 호출이 요청된 저장소 보기를 반환합니다. 이전에는 요청된 보기가 아닌 저장소의 첫 번째 스토어 보기를 반환했습니다.
  • 이제 송장 전송을 구성할 수 있습니다. 이전에는 송장 전송을 구성할 수 없었고, 생성된 후에는 항상 애플리케이션에서 송장을 전송했습니다. 인보이스와 주문 이메일은 모두 한 명의 관찰자의 범위에서 발송되었다. 이제 별도의 관찰자가 주문 이메일 및 송장 이메일 전송을 제어합니다. GitHub-27656

보고서

  • 이제 모든 시스템 보고서를 Adobe Commerce on cloud infrastructure 프로젝트에서 보고 다운로드할 수 있습니다. 이전에는 로그, 데이터, 디자인 또는 스토어에 대한 시스템 보고서를 다운로드할 수 없었습니다.
  • 이제 관리자 보고서 > 검토 > 제품별 ​의 마지막 검토 날짜에 올바른 검토 날짜가 표시됩니다. 이전에는 검토 날짜 대신 제품 생성 날짜가 표시되었습니다.

반품 상품 승인(RMA)

  • 특성 필드 값 required이(가) no(으)로 설정된 경우 RMA resolution 특성이 더 이상 필요에 따라 표시되지 않습니다.
  • 이제 관리자로부터 반환할 여러 주문을 선택할 수 있습니다. 이전에는 여러 반환을 선택하고 작업 드롭다운 메뉴에서 닫기를 선택한 후 제출 ​을 클릭했을 때 응용 프로그램에서 오류가 발생했습니다.
  • 이제 애플리케이션은 REST API를 사용하여 반환 상태를 변경한 후 예상대로 고객에게 이메일 알림을 보냅니다.
  • 이제 애플리케이션은 관리자 고객 반환 그리드의 필터 값에 따라 레코드를 필터링합니다. 이전에는 응용 프로그램에서 [모든 고객 관리] 페이지로 안내했으며 필터 재설정 단추도 클릭하여 이 페이지로 리디렉션되었습니다. GitHub-436

리뷰

  • 이제 제품 리뷰 평가 별이 내 계정 페이지의 리뷰 세부 정보 섹션에서 올바르게 계산됩니다.
  • 이제 제품 검토 세부 사항 페이지의 평균 제품 등급 및 제품 등급 섹션이 올바르게 렌더링됩니다. 기존에는 애플리케이션에서 점포 평점을 계산할 때 리뷰 ID가 설정되지 않고 제품 리뷰 템플릿이 제대로 렌더링되지 않았다.
  • 관리자가 검토를 승인한 후 이(가) 이 제품을 먼저 검토해야 합니다 링크가 검토 횟수에 따라 변경됩니다.
  • 이제 관리자는 제품 편집 페이지의 제품 검토 섹션에서 제품 검토를 예상대로 정렬할 수 있습니다. GitHub-30270
  • 이제 관리자가 승인하고 저장소가 아닌 다른 도메인에서 검토를 저장한 후 검토를 올바른 저장소 ID로 저장합니다. GitHub-17510

보상

  • 가맹점은 이제 주문한 고객이 시스템에서 제거된 후 보상 포인트를 사용하여 전체 또는 부분적으로 주문한 상품을 취소할 수 있습니다.
  • 이제 판매자는 장바구니 가격 규칙에서 보상 포인트를 제거할 수 있습니다. 이전에는 장바구니 가격 규칙을 만들 때 판매자가 보상 포인트 ​를 0으로 설정하려고 하면 보상 포인트 수량의 이전 값이 지속되었습니다.
  • 이제 관리자 마케팅 > 검토 보류 중 그리드에서 여러 검토가 승인되면 제품 검토에 대한 보상 포인트가 관련 웹 사이트와 연결됩니다. 이전에는 리워드 포인트가 상점 첫 화면에 표시되지 않았고 관리자의 관련 웹 사이트에 연결되지 않았습니다.
  • 이제 앱이 여러 주소로 체크아웃하는 쇼핑객이 크레딧(보상 포인트) 저장 옵션을 선택하거나 선택 취소하면 결제 방법 목록을 업데이트합니다.

판매

  • 미납주문이 허용됨 설정이 활성화된 경우 관리자는 이제 재고 부족 항목을 주문할 수 있습니다(스토어 > 구성 > 카탈로그 > 재고 > 제품 재고 옵션). 이전에는 애플리케이션에서 오류가 발생했습니다.
  • 이제 구매자는 성이 공백으로 끝날 때 주문 및 반품 페이지에서 주문을 찾을 수 있습니다.
  • 이제 100% 할인을 지정하는 장바구니 가격 규칙이 카탈로그 제품 및 할인 세금이 적용되며 무료 배송이 가능한 주문에 적용될 때 정확한 총계를 사용하여 송장이 생성됩니다. 기존에는 주문서의 가격이 맞지만, 인보이스가 맞지 않았습니다. GitHub-30853
  • 이제 날짜별로 주문을 필터링하면 정확한 결과가 반환됩니다. 이전에는 주문 날짜별로 주문을 필터링할 때 애플리케이션에서 00:00 UTC 이후에 수행한 주문을 반환하지 않았습니다.
  • 이제 다중 스토어 배포에서 Website 범위가 가격 특성에 사용되는 경우 대변 메모 그리드에 올바른 통화 기호가 표시됩니다.
  • 관리자 새 주문 만들기 페이지를 다시 로드한 후 결제 워크플로의 결제 및 배송 정보 섹션에서 결제 방법 라디오 단추가 더 이상 사라지지 않습니다. GitHub-32106
  • 이제 아랍어 텍스트가 인보이스에 올바르게 표시됩니다.
  • 이제 애플리케이션은 PayPal Payment Pro를 결제 게이트웨이로 배포하는 상점의 주문이나 송장을 기준으로 하는 대변 메모에 대해 부분 대변 메모 세금 합계를 올바르게 계산합니다. 이전에는 복수 송장이 있는 주문에 대해 애플리케이션은 대변 메모에 부분 송장 취소에 대해 해당 주문의 전체 세금을 적용했습니다.
  • 새로운 주문 이메일을 고객에게 보낼 때 애플리케이션에서 더 이상 무작위 데이터베이스 교착 상태를 만들지 않습니다. 이전에는 업데이트된 SQL 열 대신 전체 개체와 관련 개체를 저장했기 때문에 교착 상태가 발생했습니다. 응용 프로그램에서 다음 유형의 오류를 표시했습니다. SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction. GitHub-31090
  • 이제 Storefront 주문 세부 사항 페이지에 올바른 배송 제품 수량이 표시됩니다. 이전에는 주문 배송 페이지의 템플릿이 배송 수량 ​을(를) int(으)로 렌더링하여 제품 수량이 올바르지 않았습니다. 이 항목이 float(으)로 변경되었습니다.
  • 청구서 전자 메일 복사본 단추를 선택하지 않으면 응용 프로그램에서 더 이상 주문 청구서 전자 메일을 보내지 않습니다. 이전에는 응용 프로그램에서 고객송장 전자 메일 복사본 보내기 ​에 전자 메일을 보냈습니다. GitHub-28511
  • 기존 고객에 대해 관리자로부터 신규 주문을 생성할 때 애플리케이션에서 고객 계정에 대해 중복 주소 항목을 더 이상 생성하지 않습니다. 주소록에 저장 확인란의 이름이 주소록에 추가(으)로 변경되었으며 이제 기본적으로 관리자에서 선택되지 않습니다.
  • 이제 이 애플리케이션은 쇼핑객이 계정의 주문을 인쇄할 때 HTML 인쇄 보기용 로고 설정에 업로드된 로고를 사용합니다. 이전에는, 애플리케이션이 업로드된 로고 대신 LUMA 로고를 표시했습니다.
  • 이제 품목 수가 20개를 초과할 때 상점의 주문 품목 호출기가 예상대로 작동합니다. 이전에는 호출기가 소아 제품을 고려했으며 총 수가 올바르지 않았습니다.
  • 이제 애플리케이션은 주문 페이지 및 대변 메모 페이지 그리드에 소계 및 운송 및 처리 값에 대한 올바른 통화 기호를 표시합니다. GitHub-22662
  • Safari를 사용하는 관리자는 이제 관리자의 주문에 제품을 추가할 수 있습니다. 이전에는 관리자가 선택한 제품을 주문에 추가 단추를 클릭하면 응용 프로그램에 회전 하중 아이콘이 표시되고 페이지가 정지되었습니다. GitHub-30265

판매 규칙

  • 이제 애플리케이션은 장바구니에 여러 장바구니 가격 규칙이 적용될 때 최대 할인 수량이 적용됨 또는 할인 수량 단계(구매 X) 조건이 있는 장바구니 가격 규칙을 올바르게 적용합니다. 이전에는, 다른 장바구니 가격 규칙 다음에 최대 수량 할인이 적용된 또는 할인 수량 단계(구매 X) ​가 적용된 장바구니 가격 규칙이 적용된 경우 총 할인은 최대 수량 할인이 적용된 또는 할인 수량 단계(구매 X) ​에 대해 구성된 값으로 감소되었습니다.
  • 이제 쿠폰 보고서는 분할 데이터베이스가 구현된 배포에서의 쿠폰 활동을 정확하게 반영합니다.
  • 범주 IS NOT 조건이 포함된 장바구니 가격 규칙은 이제 범주에 할당되지 않았지만 상위 제품이 할당된 구성 가능한 하위/단순 제품에 예상대로 적용됩니다.
  • 이제 쿠폰이 주문에 적용되면 GraphQL cart 쿼리가 장바구니의 청구 단계에 대한 올바른 총계를 반환합니다.

검색 search-heading

  • 범주 페이지에 modes-label, mode-list, toolbar-amount, sorter, limiter HTML 요소 ID가 더 이상 없습니다.
  • 부분 단어 검색 결과에 더 이상 예기치 않거나 관련이 없는 일치 항목이 포함되지 않으며 검색은 상점 및 관리자 모두에서 일관된 결과를 생성합니다. 이제 응용 프로그램은 부분 단어 검색에 대해 스테머 없이 다른 분석기를 사용합니다. 이전에는 검색 결과에 검색 키워드가 포함되지 않은 제품이 표시되었습니다. (이전에 기본 분석기에 압축기가 포함되었으며, 동일한 분석기가 검색 시 부분 단어 검색에 사용되었기 때문에 검색 결과가 예기치 않거나 관련이 없는 일치 항목을 생성할 수 있습니다.)
  • 이제 빠른 검색은 검색 쿼리에 여러 단어가 있고 제품 이름이 검색할 수 없도록 구성된 경우 결과를 반환합니다. 이전에는 제품 이름이 검색할 수 없는 것으로 구성된 경우 애플리케이션에서 여러 단어가 포함된 검색 쿼리에 대한 쿼리 예외를 throw했습니다.
  • 이제 검색 가능한 것으로 구성된 경우 검색 결과에 예상대로 weight 특성이 포함됩니다.
  • Elasticsearch이 활성화된 빈 범주 페이지를 볼 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다. 대신, 페이지가 예상대로 렌더링되고 유용한 메시지가 표시됩니다. 이전에는 빈 전체 텍스트 인덱스가 범주 페이지에서 예외를 트리거했습니다.
  • 이제 쇼핑객이 검색을 시작한 후 검색 필드 외부를 클릭하면 검색 필드 자동 완성 기능이 예상대로 작동합니다. 이제 구매자가 입력을 재개하면 자동 완성 제안이 다시 나타납니다. 이전에는 추가 문자를 입력해도 애플리케이션에서 자동 완성 제안을 표시하지 않고 검색 상자를 클릭하여 검색 제안을 다시 표시하지 않았습니다.
  • 고급 검색에서 전체 또는 부분 SKU를 기반으로 제품을 검색하면 이제 예상 제품이 반환됩니다.
  • 이제 계층화된 탐색 필터에 정확한 제품 수가 표시됩니다. 이전에는 Elasticsearch의 제품 수 값이 카탈로그 권한으로 필터링되지 않았습니다.
  • 카테고리 URL 페이지 매개 변수가 페이지 매김을 초과할 때 Elasticsearch에서 더 이상 오류가 발생하지 않습니다. GitHub-23843
  • 이제 사용자 지정 Elasticsearch 필드 매퍼를 Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver에 추가할 수 있습니다. GitHub-24350
  • 이제 개발자는 Elasticsearch 매핑을 변경할 수 있습니다. 이전에는 기본 매핑에서 Elasticsearch 서버로 전송된 동적 템플릿이 하드 코딩되어 개발자가 사용자 지정 모듈과 연결된 추가 데이터를 Elasticsearch에 색인화할 수 없었습니다. GitHub-24363
  • 검색 제안 기능이 비활성화되면 검색 필드(양식 미니검색)가 예상대로 작동합니다. GitHub-30584

배송

  • 이제 애플리케이션은 여러 주소가 있는 체크아웃 중에 제품을 삭제한 후 쇼핑객이 장바구니 페이지로 다시 이동할 때 예상대로 배송 가격을 업데이트합니다.
  • 이제 장바구니에 있는 일부 품목이 무료 배송에 적합할 때 애플리케이션에서 올바른 조정된 배송 가격을 표시합니다. 이전에는 장바구니의 일부 품목이 무료 배송에 적합할 경우 애플리케이션에서 배송 가격을 조정하지 않고 구매자에게 전체 배송 가격을 표시했습니다.
  • 특정 웹 사이트로 제한된 관리자는 이제 동일한 웹 사이트에 배치된 주문에 대해 배송을 만들 수 있습니다. 이전에는 기본 저장소 보기에 대한 권한이 없는 관리자가 관리자 액세스 권한이 있는 저장소 보기에 배치된 주문을 전달하려고 할 때 응용 프로그램에서 이 예외를 throw했습니다. Notice: Undefined offset: 1 in /app/code/Magento/Catalog/Model/Product/Attribute/Backend/GroupPrice/AbstractGroupPrice.php on line 293
  • 이제 애플리케이션은 주문이 무료 DHL 배송 조건을 충족하는지 여부를 결정할 때 관련 장바구니 가격 규칙 할인을 고려합니다.
  • 이제 배송 레이블은 주문이 비기본 통화로 배치될 때 여러 통화를 지원하는 상점에 대해 주문 통화 대신 기본 통화를 예상대로 사용합니다. GitHub-31891
  • 이제 다중 배송 페이지에서 멀어진 후 체크아웃 중에 장바구니 페이지로 돌아가면 애플리케이션에 올바른 주문 소계가 표시됩니다. GitHub-31889
  • 관리자 주문 생성 중 청구 정보를 편집해도 기본 배송 및 청구 주소가 다른 고객의 배송 정보가 더 이상 변경되지 않습니다. GitHub-31786
  • 쇼핑객이 배송 방법 및 요금 가져오기 ​를 클릭하고 관리자로부터 주문을 만들 때 배송 방법을 선택할 때 응용 프로그램에서 더 이상 댓글 추가 확인란의 선택을 취소하지 않습니다. GitHub-30256
  • 이제 구매자는 여러 주소가 있는 주문을 체크아웃하는 동안 뒤로 브라우저 버튼을 사용하여 배송 방법 선택 페이지로 돌아갈 수 있습니다. 이전에는, 응용 프로그램이 손상된 배송 방법 선택 페이지를 표시했습니다. GitHub-30268
  • 이제 구매자가 여러 주소로 배송 페이지에서 수량을 변경하고 브라우저 뒤로 단추를 클릭한 후에도 제품 수량은 예상대로 변경되지 않습니다. GitHub-31956
  • 체크아웃 중에 장바구니 가격 규칙이 적용되면 정액 배송 방법 요금이 더 이상 0이 되지 않습니다. GitHub-21832
  • 판매자가 배송 레이블 만들기 확인란이 활성화되어 있고 제품 이름에 유니코드 문자가 포함되어 있는 경우 DHL을 사용하여 주문을 배송하려고 할 때 응용 프로그램에서 더 이상 오류가 발생하지 않습니다. 이전에는 레이블 생성을 요청할 때 응용 프로그램에서 이 오류를 표시했습니다. The response is in wrong format. GitHub-31032
  • 한 웹 사이트에서 United States을(를) 사용하고 다른 웹 사이트에서 Disable all countries을(를) 기본 범위로 사용하는 다중 사이트 배포에서 관리자의 주문을 정상적으로 수행할 수 있습니다. 이전에는 응용 프로그램에서 주문을 하지 않았으며 다음 오류가 표시되었습니다. Please check the shipping address information. "regionId" is required. Enter and try again. GitHub-30577

스테이징

  • 이제 Fastly를 구현하는 배포에서 예약 블록 업데이트 기능이 예상대로 작동합니다. 이전에는 Fastly 캐시 태그가 무효화되지 않고 Fastly가 오래된 콘텐츠를 계속 제공하므로 애플리케이션에서 블록 콘텐츠를 업데이트하지 않았습니다.
  • 이제 장바구니 가격 규칙 스테이징 미리 보기가 여러 웹 사이트 스토어 보기에 할당될 때 적절한 웹 사이트에 로드됩니다. 이전에는 장바구니 가격 규칙 스테이징 미리 보기가 할당된 웹 사이트에 관계없이 기본 스토어 보기에 로드되었습니다.
  • 이제 기본 스토어가 아닌 보기의 제품에 대한 특별 가격이 예약된 업데이트가 종료된 후 예상대로 기본값으로 설정됩니다.
  • 판매자는 이제 종료 날짜가 포함된 향후 스테이징 업데이트를 만든 후 다운로드 가능한 제품 페이지에서 연결된 샘플이 있는 다운로드 가능한 제품을 성공적으로 저장할 수 있습니다. 이전에는 응용 프로그램에서 제품을 저장하지 않고 The downloadable sample isn't related to the product. Verify the link and try again 메시지를 표시했습니다. GitHub-488
  • 범주 일정 업데이트 미리 보기 중에 모든 제품 ID를 포함하는 대용량 데이터베이스 쿼리가 더 이상 실행되지 않습니다. 대신 카테고리 필터가 제품 컬렉션에 적용되어 카테고리의 스테이징 미리 보기를 위한 임시 테이블을 만듭니다. 이전에는 응용 프로그램에서 스테이징 미리 보기를 위해 임시 테이블에 모든 제품을 삽입했으므로 성능이 저하되었습니다.
  • Magento_SalesRuleStaging 모듈이 더 이상 2.3.x에서 업그레이드하는 동안 오류를 트리거하지 않습니다.
  • 이제 일정 업데이트를 볼 때 응용 프로그램에 올바른 데이터가 있는 카탈로그 규칙 조건이 표시됩니다. 이전에는 조건이 있는 예약 업데이트를 보면 애플리케이션이 조건을 표시하지 않거나 잘못된 데이터가 있는 조건을 표시했습니다.
  • 업데이트 전에 예약된 업데이트를 선택 취소하면 제품에 대한 기본값 사용 확인란이 선택된 상태로 유지됩니다.
  • 이제 카탈로그 가격 규칙이 정의되지 않은 특성 값이 있는 제품에 예상대로 적용됩니다. 이전에는 카탈로그 가격 규칙을 통해 생성된 할인이 정의되지 않은 속성이 있는 제품에는 적용되지 않았습니다. GitHub-461
  • 이제 카탈로그 규칙이 서로 다른 시간대에 스토어가 있는 다중 웹 사이트 배포에서 예상대로 작동합니다. 이전에는 모든 웹 사이트에서 애플리케이션이 카탈로그 규칙을 한 번에 적용하거나 비활성화했습니다.
  • 특정 웹 사이트에 대한 일정 업데이트를 만들 때 계층 가격이 더 이상 제거되지 않습니다.
  • 이제 종료 날짜가 포함된 향후 스테이징 업데이트를 만든 후 다운로드 가능한 제품 페이지에서 제품을 저장할 수 있습니다. 이전에는 응용 프로그램에서 제품을 저장하지 않고 The downloadable link isn't related to the product. Verify the link and try again 메시지를 표시했습니다. GitHub-474

저장

  • 스토어 홈 페이지를 표시할 때 응용 프로그램에서 0 문자열을 더 이상 빈 값으로 처리하지 않습니다. 이전에는 응용 프로그램이 요청 경로 시작 시 정수 값을 저장소 ID로 처리했으며 이로 인해 SEO에 의도하지 않은 영향이 있었습니다.
  • lib/internal/Magento/Framework/App/Action/Plugin에서 \Magento\Framework\App\ActionInterface에 대한 플러그인이 제거되어 다른 모듈에서 한 모듈의 동작을 사용자 지정하는 데 플러그인을 사용해야 한다는 지침을 따릅니다. GitHub-28050
  • 웹 사이트를 만드는 동안 Store View을(를) 사용하지 않도록 설정한 경우 Website을(를) 기본적으로 선택하려고 하면 응용 프로그램에서 이 메시지를 표시합니다. Please enable your Store View before using this Web Site as Default. 이전에는 웹 사이트가 손상되어 응용 프로그램에 경고가 표시되지 않았습니다.

세금

  • 이제 애플리케이션은 최소 주문 금액의 검증 동안 숨겨진 세금을 고려합니다.
  • 이제 쇼핑객이 장바구니로 다시 이동하고 장바구니에 번들 제품을 추가한 후 체크아웃을 진행할 때 애플리케이션에서 예상대로 고정 제품 세금(FPT)을 표시합니다. GitHub-30250
  • 이제 애플리케이션은 관리자가 기존 고객에 대한 주문을 만들 때 새 주문 관리 페이지의 주소 정보 섹션에 있는 청구 및 배송 주소의 VAT 번호 입력 필드에 저장된 VAT 번호를 미리 채웁니다. GitHub-31846
  • customer/create_account/vat_frontend_visibility을(를) 사용하도록 설정하면 응용 프로그램에서 고객 등록 페이지에 VAT 번호 필드를 표시합니다. GitHub-31326

테스트

  • 테스트 환경이 Redis 6.0.12로 업그레이드되었습니다.
  • 통합 테스트에서 CacheCleaner::cleanAll();을(를) 제거했습니다. GitHub-31074
  • 이 시나리오에 대한 테스트가 추가되었습니다. 관리자는 고객이 큐에 있는 뉴스레터를 구독할 때 고객 계정을 편집할 수 있습니다. GitHub-30645
  • Catalog, CatalogUrlRewriteLoginAsCustomer 모듈의 실행 시간을 개선하기 위해 테스트에서 cache:flush 명령을 제거했습니다. GitHub-31056
  • 중복 매개 변수가 제거되고 \Magento\Logging\Model\ProcessorTest::testLoggingProcessorLogsActionShipping에서 필요한 경우 POST이 GET으로 변경되었습니다.

테마

  • JS 코드를 페이지의 맨 아래로 이동 설정(스토어 > 구성 > 고급 > 개발자 > JavaScript 설정)과 쿠키가 모두 활성화되어 있으면 고객 로그인 페이지에 이 메시지가 더 이상 표시되지 않습니다. The store will not work correctly in the case when cookies are disabled.
  • 이제 헤더의 계정 링크는 WCAG 표준을 따릅니다. 이전에는 헤더에 있는 계정 링크에 중복된 ID가 포함되어 있어 WCAG 유효성 검사가 실패했습니다.
  • 이제 애플리케이션은 레이아웃 구성보다 스토어 로고 이미지에 대한 스토어 구성의 우선순위를 지정합니다. 기존에는 로고 이미지 크기가 고정돼 매장별로 차이가 없었다.
  • 이제 애플리케이션은 표준 Adobe Commerce 테마를 사용하는 상점 첫 페이지에 페이지 요소를 일관되게 표시합니다. 이전에는 일부 스타일이 빈 테마에 적용되지 않았으므로 이 테마를 사용하는 페이지에 일부 페이지 요소가 표시되지 않았습니다. (예를 들어, 내 주문 페이지 검색 필드에 돋보기 아이콘이 없습니다.)

번역 및 로케일

  • 인라인 변환이 구성되면 문자열에 추가된 대괄호는 더 이상 이스케이프되지 않습니다. 이전에는 escapeHtmlAttr 메서드가 대괄호를 HTML 엔터티 코드로 변환했습니다. GitHub-32000
  • 관리자에서 번역할 수 없는 구를 이제 번역할 수 있습니다. (이 끌어오기 요청은 모든 관리자 문자열을 지역화할 수 있도록 만들기 위한 지속적인 노력에 기여합니다.) GitHub-11175
  • 저장된 결제 방법(내 계정 > 저장된 결제 방법 )을 관리하는 데 사용되는 템플릿의 텍스트 문자열을 변환할 수 있습니다. GitHub-31211
  • 이제 관리자에서 보낸 주문 전자 메일은 관리자 계정과 연결된 로케일이 아닌 스토어 로케일을 사용합니다. GitHub-26521

UI

  • 이제 관리자 바닥글에 올바른 제품 버전이 표시됩니다.
  • 이제 소스에 대한 페이지 매김이 관리자 선적 생성 시 예상대로 제공됩니다.
  • 사용자 지정 날짜 특성을 사용하여 제품을 필터링하고 관리자 로케일이 en_GB인 경우 제품 격자 필터가 올바르게 작동합니다.
  • 이제 핀치-투-줌 제스처가 iOS 장치의 제품 페이지 이미지 갤러리 돋보기에서 예상대로 작동합니다.
  • 이제 관리자 제품 그리드 검색 결과의 페이지 매김이 예상대로 각 검색에 대해 페이지 1부터 시작됩니다.
  • 확대/축소할 때 장바구니가 표시되는 예외 항목이 해결되었습니다. 이전에는 이 페이지를 확대/축소할 때 표시 요소가 겹쳤습니다.
  • 관리자 초대 페이지(관리자 마케팅 > 개인 판매 > 초대)의 탭 정렬 문제가 해결되었습니다. 이전에는 고객이 수락한 초대의 탭 표시가 잘못 표시되었습니다. GitHub-333
  • 이제 PayPal Express Checkout을 사용하여 체크아웃하는 동안 표시되는 주문 리뷰 페이지가 정상적으로 로드됩니다. 이전에는 템플릿에 사용되지 않은 게재 방법 업데이트 단추가 포함되어 있었습니다. 이 단추는 페이지 렌더링 중에 스크립트에 의해 일부만 숨겨져 있었습니다. GitHub-32006
  • 이제 제품 페이지의 고객 리뷰 섹션에 있는 평가 별과 리뷰 텍스트의 간격은 긴 평가 이름이 있을 때 적절히 조정됩니다. GitHub-31890
  • 이제 옵션이 송장, 선적 및 대변 메모 보관 페이지의 조치 드롭다운 목록에 예상대로 표시됩니다.
  • 이제 datetime 구성 요소 timeOnly 옵션이 (으)로 설정된 경우 응용 프로그램에서 올바른 시간 값을 표시합니다. GitHub-23157
  • 이제 관리 콘텐츠 > 위젯 ​에서 새 위젯을 만든 후 레이아웃 업데이트를 제거할 수 있습니다. GitHub-29936
  • 이제 레이아웃 업데이트 제거 단추가 관리자 콘텐츠 > 위젯 ​에서 추가한 모든 레이아웃에서 예상대로 작동합니다. 이전에는 여러 레이아웃을 추가할 때 이 단추가 첫 번째로 선택한 레이아웃 이외의 레이아웃에서 작동하지 않았습니다. GitHub-30286
  • 이제 응용 프로그램에서 레이아웃 파일에 설정된 페이지 제목을 고객 계정 편집 파일의 브라우저 페이지 제목으로 사용합니다. 이전에는 Magento\Customer\Controller\Account\Edit 컨트롤러 작업에서 페이지 제목 값을 Account Information(으)로 적용했습니다. GitHub-30724
  • 판매자가 암호 표시 및 숨기기 간을 전환할 수 있도록 하는 확인란이 다음 페이지에 추가되었습니다.

    • 고객 로그인
    • 고객 등록
    • 고객 편집(암호 변경 섹션)
    • 고객이 새 암호 설정 GitHub-31557
  • 관리자가 속성 세트를 변경한 후 그룹화된 제품 세트에 제품을 추가할 때 표시되는 그리드 셀의 중복 헤더를 제거했습니다. GitHub-30911
  • 이제 응용 프로그램에서 고객 > 로그인 페이지의 로그인 영역에 DateRange 필터를 표시합니다. 이전에는 응용 프로그램에 Text 필터가 표시되었습니다. GitHub-30328
  • JavaScript은 관리 페이지의 렌더링 문제를 줄이기 위해 템플릿 파일에서 제거되고 별도의 파일로 이동되었습니다. 이전에는 HTML 축소가 활성화된 배포에서 관리 페이지가 제대로 렌더링되지 않았습니다. 응용 프로그램에 다음 오류가 표시되었습니다. An error has happened during application run. See exception log for details. GitHub-32454
  • 이제 dropdownDialog 위젯은 필요한 드래그 가능한 크기 조정 가능한 jquery-ui 청크만 로드합니다. 기존에는 불필요한 코드를 대량으로 로드해 로드 시간이 부풀려지고 성능이 저하됐다. GitHub-32810

URL 재작성

  • 다중 사이트 배포의 특정 웹 사이트에 대한 제품 URL 재작성은 이제 제품이 벌크 업데이트로 웹 사이트에 할당된 후 예상대로 생성됩니다.
  • 이제 URL 키에 대한 기본값 사용 확인란이 상위 범주에 대해 활성화된 경우 응용 프로그램에서 하위 범주에 대한 URL 경로를 올바르게 생성합니다. 이전에는 다중 스토어 보기 배포에서 다른 URL 키를 사용할 때 계층 구조에서 범주를 이동하면 잘못된 url_path 값이 생성되었습니다. GitHub-16202
  • 이제 응용 프로그램에서 범주 계층 구조에서 범주를 이동할 때 모든 저장소 범위에 할당된 범주의 url_path을(를) 업데이트합니다. 이전에는 계층 구조에서 범주를 이동하면 잘못된 url_path이(가) 발생했습니다.
  • 이제 사용자 지정 URL을 사용하여 책임자로부터 생성된 URL 리디렉션이 성공적으로 작동합니다. 이전에는 GraphQL이 GraphQL urlResolver 쿼리의 응답을 캐시하고 URL 다시 작성 업데이트 후 이전 값을 반환했습니다.
  • 이제 웹 사이트에서 제품을 제거할 때 제품 URL 재작성은 예상대로 제거됩니다. GitHub-24184
  • app/code/Magento/UrlRewrite/Model/ResourceModel/UrlRewriteCollection.php 컬렉션의 addStoreFilter 함수에서 store_id에 대한 main_table 참조를 추가했습니다. 이전에는 store_id 열도 포함된 테이블의 컬렉션에 join을(를) 추가할 때마다 문제가 발생했습니다. GitHub-31853
  • 이제 PUT /V1/products/:sku REST 끝점이 예상대로 제품 URL 다시 쓰기를 다시 생성합니다. 이전에는 끝점이 제품 url_key 값을 다시 생성했지만 URL은 다시 쓰지 않았습니다. GitHub-30316

사용자

  • 이제 Edit Product Design을(를) 제외한 전체 Catalog 트리(카탈로그 > 인벤토리 > 제품 > 제품 디자인 편집)를 선택하여 효과적인 새 사용자 역할(관리자 시스템 > 권한 > 사용자 역할)을 저장할 수 있습니다. 이전에는 응용 프로그램에서 이 역할의 사용자가 변경한 제품을 저장하지 않고 다음 오류를 표시했습니다. Not allowed to edit the product's design attributes. GitHub-31973
  • 이제 새 관리자의 이메일을 생성할 때 애플리케이션에서 올바른 사용자 정의 이메일 템플릿을 사용합니다. 이전에는 응용 프로그램에서 관리자 이름과 성을 생략한 이전 기본 템플릿을 사용했습니다.
  • 이제 새 사용자에게 이메일을 보낼 때 애플리케이션에서 올바른 이메일 템플릿을 사용합니다. 이전에는 사용자 지정 템플릿이 선택된 경우에도 애플리케이션에서 기본 템플릿을 사용했습니다.

버전 CMS

  • 이제 레이아웃을 변경한 후에 애플리케이션에서 올바른 테마를 CMS 페이지에 적용합니다. 이전에는, 페이지에 할당된 테마에 관계없이, 레이아웃 변경 사항을 저장한 후 애플리케이션에서 할당된 테마를 Luma로 변경했습니다.
  • 이제 제한된 역할이 있는 관리자는 계층 노드에 할당된 액세스 권한이 있는 페이지를 성공적으로 추가, 업데이트 또는 복제할 수 있습니다. 이전에는 이러한 조건에서 애플리케이션에서 치명적인 오류가 발생했습니다.

비디오

  • 이제 고급 JavaScript 번들링을 활성화하고 사용하면 제품 갤러리에서 예상대로 비디오를 사용할 수 있습니다. GitHub-32501
  • 구성 가능한 제품에 속하는 간단한 제품에 대한 YouTube 비디오가 이제 예상대로 작동합니다. 이전에는 이미지가 위치 대신 ID로 주문되었습니다. 그 결과, 일부 비디오는 이미지처럼 취급되었습니다. GitHub-29690

Visual Merchandiser

  • Visual Merchandiser를 사용한 관리 범주 페이지 로드 성능이 향상되었습니다. 관리자 범주 페이지를 로드해도 더 이상 큰 데이터베이스 쿼리가 생성되지 않습니다.

웹 API 프레임워크

  • 이제 카탈로그 API가 새 값을 추가하고 이전 값을 제거하여 제품의 사용자 지정 옵션 값을 올바르게 업데이트합니다. 이전에는 API가 이전 값을 삭제하지 않았습니다.
  • 이제 POST /V1/guest-carts/:cartId/billing-address이(가) 주소 ID를 문자열이 아닌 정수로 반환합니다.

웹 사이트 제한

  • 이제 구매자는 로그인하라는 메시지가 표시되기 전에 액세스하려던 페이지로 리디렉션됩니다. 이전에는 웹 사이트 제한이 활성화되고 제한 모드가 개인 판매: 로그인만(으)로 설정된 배포에서는 쇼핑객이 스토어 홈 페이지로 리디렉션되었습니다.

위젯

  • 이제 관리자는 위젯의 레이아웃 업데이트를 모두 삭제할 수 있습니다. 이전에는 위젯에 여러 레이아웃 업데이트가 있는 경우 관리자가 첫 번째 레이아웃만 삭제할 수 있었습니다.
  • 제품 위젯에서 장바구니에 추가 단추를 클릭해도 더 이상 페이지가 다시 로드되지 않습니다. 이전에는 제품 위젯에서 장바구니에 추가 단추를 클릭하면 제품이 장바구니에 추가되기 전에 현재 페이지가 다시 로드되었습니다.
  • 사용자 지정 텍스트 앵커 필드가 비어 있으면 TinyMCE의 CMS 계층 노드 링크 위젯에서 계층 링크를 예상대로 렌더링합니다.

위시리스트

  • 위시리스트에서 제품에 대한 항목 편집 단추를 클릭해도 구성 가능한 제품의 구성 설정이 응용 프로그램에서 더 이상 재설정되지 않습니다. GitHub-32119
  • 이제 위시리스트에서 사용자 정의 가능한 파일 옵션을 사용하여 제품을 업데이트할 때 애플리케이션에 올바른 제품 가격이 표시됩니다. 이전에는 애플리케이션에 잘못된 제품 가격이 표시되고 업로드된 파일에 대한 링크가 표시되지 않았습니다.
  • 이제 여러 개의 위시 목록이 있는 고객의 위시 목록에 있는 총 제품 수가 위시 목록의 항목 수와 일치합니다. 기존에는 품절 상품이 전체 상품 수치에 포함됐다.
  • 이제 애플리케이션은 제품을 주문에 추가한 후 위시 목록에서 제품을 제거합니다. GitHub-30260
  • 이제 구매자는 위시리스트에서 관련 제품을 장바구니에 추가할 수 있습니다. 이전에는 쇼핑객이 관련 제품 섹션의 모두 선택 링크를 클릭했을 때 응용 프로그램에서 구성 가능한 제품과 관련 제품을 추가하지 않고 구성 가능한 제품만 추가했습니다. GitHub-32274

알려진 문제

문제: reCAPTCHA를 사용하지 않도록 설정할 때 JavaScript 오류 발생. reCAPTCHA를 체크 아웃에 사용하지 않도록 설정하면 체크 아웃이 진행되지만 응용 프로그램에서 콘솔 로그에 Uncaught TypeError 오류가 표시됩니다. 이 문제는 이후 릴리스에서 수정됩니다.

문제: 콘텐츠 보안 정책 오류. Storefront는 콘솔 로그에 다음 오류를 표시합니다. The Content-Security-Policy directive frame-ancestors does not support the source expression unsafe-inline. Storefront 성능은 영향을 받지 않습니다.

문제: 기프트 카드 금액의 PayPal 크레딧 표시 예외 항목. PayPal 크레딧이 활성화되고 여러 기프트 카드 금액이 구성된 경우, 쇼핑객이 기프트 카드의 금액을 변경할 경우, 상점은 분할 결제 금액을 업데이트하지 않습니다. 이 문제에 대한 수정 사항은 Adobe Commerce 2.4.4 및 Magento Open Source 2.4.4.에 포함됩니다.

문제: SKU에서 장바구니에 추가한 제품 ​에 대해 주문에 추가 단추가 작동하지 않습니다. SKU별 주문에 제품을 추가한 후 주문에 추가 단추를 클릭하면 이 오류 메시지가 표시됩니다. An error has happened during application run. 제품이 장바구니에 추가되지 않습니다. 해결 방법: 제품 추가 기능을 사용하십시오.

문제: GraphQL categorycategoryList 쿼리는 공유 카탈로그의 범주를 숨기거나 노출할지 여부를 결정하는 범주 권한을 무시합니다. 현재 상점에는 공유 카탈로그에 할당되거나 할당 해제된 모든 카테고리가 표시됩니다. 이 문제는 B2B 공유 카탈로그가 활성화된 PWA 저장소를 구현하는 Adobe Commerce 2.4.3 배포에 영향을 줍니다.

커뮤니티 기여

더 넓은 Magento Open Source 커뮤니티에 감사하며 이번 릴리스에 대한 기여를 인정하고자 합니다.

커뮤니티 엔지니어링 팀 Magento 참가자는 월별, 분기별, 연도별로 상위 기여 개인 및 파트너 목록을 유지 관리합니다. 해당 기여자 페이지에서 GitHub의 병합된 PR에 대한 링크를 따라갈 수 있습니다.

파트너 기여

다음 표에는 파트너가 수행한 기여가 요약되어 있습니다. 이 표에는 끌어오기 요청에 기여한 파트너, 외부 끌어오기 요청 및 이와 연결된 GitHub 문제 번호(사용 가능한 경우)가 나열됩니다.

파트너
가져오기 요청
관련 GitHub 문제
아트윅스
magento/magento2#31228, magento/magento2#31025, magento/magento2#30996, magento/magento2#31128, magento/magento2#31053, magento/magento2#30837, magento/magento2#31433, magento/magento2#31079, magento/magento2#31013, magento/magento2#31261, magento gento2#31016, magento/magento2#30986, magento/magento2#31241, magento/magento2#31243, magento/magento2#31221, magento/magento2#31123, magento/magento2#31147, magento/magento2#31097, magento/magento#31287, magento to/magento#310992 magento/magento2#31420, magento/magento2#31320, magento/magento2#30776, magento/magento2#31564, magento/magento2#31827, magento/magento2#31592, magento/magento2#31634, magento/magento2#31436, magento/magento#31371, magento/magento to2#31323, magento/magento2#31057, magento/magento2#31009, magento/magento2#31595, magento/magento2#31452, magento/magento2#31458, magento/magento2#31487, magento/magento2#31418, magento/magento#31240, magento/magento#316032 78}magento/magento2#31601🔗, magento/magento2#31394, magento/magento2#31247, magento/magento2#31508, magento/magento2#31449, magento/magento2#31776, magento/magento2#31788, magento/magento2#29047, magento/partners-magento2ee#280, {96 magento/magento2#32071🔗, magento/magento2#31936, magento/magento2#31924, magento/magento2#31918, magento/magento2#31859, magento/magento2#31864, magento/magento2#31604, magento/magento to2#31510, magento/magento2#31512, magento/magento2#31502, magento/magento2#31488, magento/magento2#31454, magento/magento2#31507, magento/magento2#31164, magento/magento2#31568, magento/magento to2#31569, magento/magento2#31851, magento/magento2#32078, magento/magento2#31953, magento/magento2#31961, magento/magento2#30850, magento/magento2#31395, magento/magento2#31390, magento/magento to2#31451, magento/magento2#32467, magento/magento2#32477, magento/magento2#32524, magento/magento2#32517, magento/magento2#32463, magento/magento2#32498, magento/magento2#32288, magento/magento to2#32353, magento/magento2#32539, magento/magento2#32465, magento/magento2#32295, magento/magento2#32759, magento/magento2#31938, magento/magento2#32356 30623, magento/partners-magento2ee#539, }magento/partners-magento2ee#540 🔗 🔗 🔗 🔗
magento/magento2#31233, magento/magento2#31031, magento/magento2#31056, magento/magento2#31130, magento/magento2#31074, magento/magento2#30858, magento/magento2#31438, magento/magento2#31160, magento/magento2#31034, magento/magento2#31168, magento gento2#31033, magento/magento2#31039, magento/magento2#31250, magento/magento2#31249, magento/magento2#31234, magento/magento2#31129, magento/magento2#31153, magento/magento2#31132, magento/magento#31290, magento to/magento#311312 magento/magento2#31440, magento/magento2#31327, magento/magento2#30784, magento/magento2#31575, magento/magento2#31844, magento/magento2#31628, magento/magento2#31647, magento/magento2#31437, magento/magento#31442, magento/magento to2#31325, magento/magento2#31073, magento/magento2#31036, magento/magento2#31627, magento/magento2#31632, magento/magento2#31522, magento/magento2#31521, magento/magento2#31441, magento/magento#31251, magento/magento#316242 78}magento/magento2#31626, magento/magento2#31403, magento/magento2#31248, magento/magento2#31516, magento/magento2#31524, magento/magento2#31801, magento/magento2#28522, magento/partners-magento2ee#28586, magento/partners-magento2ee#ee#31435, {96 gento/partners-magento2ee#31560, magento/partners-magento2ee#31561, magento/magento2#32072, magento/magento2#31937, magento/magento2#31902, magento/magento2#31860, magento/magento2#31865, magento gento/magento2#31623, magento/magento2#31515, magento/magento2#31514, magento/magento2#31519, magento/magento2#31520, magento/magento2#31517, magento/magento2#31075, magento/magento2#31574, {128 gento/magento2#31573, magento/magento2#31852, magento/magento2#32079, magento/magento2#31954, magento/magento2#31962, magento/magento2#30855, magento/magento2#30645, 🔗magento/magento2#31523, {144 gento/magento2#32505, magento/magento2#32504, magento/magento2#32583, magento/magento2#32518, magento/magento2#32507, magento/magento2#32569, magento/magento2#32502, magento/magento2#32379, {160 gento/magento2#32279, magento/magento2#32568, magento/magento2#32506, magento/magento2#4451, magento/magento2#32377, magento/magento2#32577, magento/magento2#29631, magento/partners-magento2ee#30210, magento/partners-magento2ee#32574 32928 🔗 🔗
청도토리
magento/magento2#31022, magento/magento2#28926, magento/magento2#30992, magento/magento2#30881, magento/magento2#30938, magento/magento2#31621
magento/magento2#30265, magento/magento2#29528, magento/magento2#30286, magento/magento2#30880, magento/magento2#29690, magento/magento2#27678
시더커머스
magento/magento2#30410, magento/partners-magento2ee#444, magento/magento2#31736, magento/magento2#31584, magento/partners-magento2ee#449
magento/magento2#30424, magento/partners-magento2ee#31111, magento/magento2#31660, magento/partners-magento2ee#31331
크리시 테크노랩스
magento/magento2#31142, magento/magento2#29991, magento/magento2#31208, magento/magento2#29804
magento/magento2#30911, magento/magento2#29936, magento/magento2#31188, magento/magento2#29365, magento/magento2#29805
EY
magento/magento2#31369, magento/magento2#30615, magento/magento2#31490, magento/partners-magento2ee#445
magento/magento2#4451, magento/magento2#29302, magento/partners-magento2ee#31196
기술 부서
magento/magento2#30943
magento/magento2#30936
아이코
magento/magento2#32389
magento/magento2#32088
패스트 화이트 캣
magento/magento2#31157, magento/magento2#31886
magento/magento2#30724, magento/magento2#30471
어안
magento/magento2#30695
magento/magento2#30788
바이모
magento/magento2#30626
magento/magento2#30622
Zifity
magento/partners-magento2ee#451, magento/magento2#31482
magento/magento2#31557
MRM COMMERCE
magento/magento2#32612, magento/magento2#32610
magento/magento2#32578, magento/magento2#32658
Aligent 컨설팅
magento/magento2#30910
magento/magento2#30909

개인 기여자 기여

다음 표는 커뮤니티 구성원의 기여를 식별합니다. 이 표에는 외부 끌어오기 요청, 연결된 GitHub 문제 번호(가능한 경우) 및 끌어오기 요청에 기여한 커뮤니티 구성원이 나열됩니다.

기여 커뮤니티 구성원
가져오기 요청
관련 GitHub 문제
암호
#31045
sagar1dahibala
#31101
501
zaximus84
#31022
30265
ihor-sviziev
#31151
31152
AnnaAPak
#31079
31160
AnnaAPak
#31013
31034
aligent-lturner
#30910
30909
thomas-kl1
#30822
30830
흑백
#30868
28511
sky-hub
#30953
30952
pawel-siejba
#30626
30622
Chandresh22
#30477
30270
마티아시달고
#28926
29528
shawnabramson
#27845
26909
engcom-Golf
#31189
31090
engcom-Echo
#31066
31095
vovayatsyuk
#31275
31291
sergiy-v
#31228
31233
코로비트스키
#31261
31168
zaximus84
#30881
30880
sergiy-v
#30996
31056
AnnaAPak
#31016
31033
AnnaAPak
#30986
31039
sergiy-v
#31025
31031
zaximus84
#30992
30286
ilnytskyi
#31098
31135
saphaljha
#31142
30911
saphaljha
#29991
29936
AnnaAPak
#31147
31153
sergiy-v
#31128
31130
DmitryFurs
#31165
31239
AnnaAPak
#31221
31234
AnnaAPak
#31241
31250
AnnaAPak
#31243
31249
AnnaAPak
#31123
31129
Usik2203
#30837
30858
AnnaAPak
#31097
31132
Usik2203
#31053
31074
vpsnak
#31021
31032
mrtuvn
#30634
30584
driskell
#28007
8933, 18409, 22438, 23054, 25634, 26507, 26809
AnnaAPak
#31287
31290
AnnaAPak
#31099
31131
고빈다샤르마
#30410
30424
kate-kyzyma
#31433
31438
AnnaAPak
#31420
31440
DmitryFurs
#31166
31171
Bartlomiejsz
#31157
30724
elisei
#31212
31211
nikollardev
#30959
31040
캔디
#30990
31038
viniciusblanhao-blueacorn
#30938
29690
engcom-Golf
#31368
30964
SmVladyslev
#31352
30284
SmVladyslev
#31422
30256
mrtuvn
#31330
31445
sergiy-v
#31320
31327
AnnaAPak
#31436
31437
AnnaAPak
#31371
31442
aleksinoleg
#31334
31471
vovayatsyuk
#31162
31170
srenon
#31198
31197
AnnaAPak
#31323
31325
AnnaAPak
#31057
31073
Usik2203
#30776
30784
Nazar65
#31308
31288
AnnaAPak
#31009
31036
engcom-Golf
#31563
30250
engcom-Golf
#31594
23843
AnnaAPak
#31452
31632
sergiy-v
#31564
31575
AnnaAPak
#31595
31627
ihor-sviziev
#31542
engcom-Kilo
#31629
31591
engcom-Echo
#31501
26214
engcom-Echo
#31553
22662
AnnaAPak
#31240
31251
치란제비-cj
#31369
AnnaAPak
#31418
31441
AnnaAPak
#31458
31522
AnnaAPak
#31487
31521
AnnaAPak
#31601
31626
AnnaAPak
#31603
31624
AnnaAPak
#31394
31403
vovayatsyuk
#31321
31326
AnnaAPak
#31247
31248
saphaljha
#31208
31188
aapokiiso
#30950
31042
nikunjkotecha
#21857
21853
engcom-Kilo
#31646
11995
mrtuvn
#31793
7231
navarr
#31621
27678
kate-kyzyma
#31827
31844
sergiy-v
#31592
31628
sergiy-v
#31634
31647
mrtuvn
#31754
30506
AnnaAPak
#31508
31516
AnnaAPak
#31449
31524
nikollardev
#31158
31169
AnnaAPak
#31488
31520
AnnaAPak
#31454
AnnaAPak
#31510
31515
AnnaAPak
#31502
31519
AnnaAPak
#31512
31514
engcom-Charlie
#31485
25907
AnnaAPak
#31604
31623
MellenIO
#31636
31641
AnnaAPak
#31507
31517
sergiy-v
#31788
31801
sergiy-v
#31776
mrtuvn
#30871
30882
PierW
#31299
31300
larsroettig
#30943
30936
edspc
#30883
31530
ravi-chandra3197
#29804
29365, 29805
dineshvb
#30615
29302
victorpetryk
#31892
31890
engcom-Echo
#31957
31891
shikhamis11
#31736
31660
SmVladyslev
#32120
32119
victorpetryk
#32107
32106
sergiy-v
#31859
31860
sergiy-v
#31864
31865
engcom-Charlie
#31875
26521
achatpc
#31815
31853
sergiy-v
#31936
31937
sergiy-v
#31924
31902
kate-kyzyma
#31918
engcom-Charlie
#32095
28996
sergiy-v
#32071
32072
AnnaAPak
#31569
31573
AnnaAPak
#31568
31574
maksymz
#31804
11175, 31873
engcom-Hotel
#31750
30802
dorupetruc
#31205
31216
rain2o
#27315
12584
engcom-Kilo
#32217
27285
engcom-Kilo
#32239
31950
mastiuhin-olexandr
#32002
32000
engcom-Charlie
#32009
30316
sergiy-v
#32078
32079
engcom-Charlie
#32082
23297
Den4ik
#32187
31608
ihor-sviziev
#32299
32313
fnogatz
#32249
32262
Bartlomiejsz
#31886
30471
sergiy-v
#31953
31954
ihor-sviziev
#31933
31948
sergiy-v
#31851
31852
AnnaAPak
#31451
31523
AnnaAPak
#31390
30645
AnnaAPak
#31395
engcom-Charlie
#31645
30492
AnnaAPak
#30850
30855
아티쿠마르-마라가타벨
#31482
31557
edenduong
#30329
30328
SmVladyslev
#32275
32274
engcom-Kilo
#32301
32232
engcom-Kilo
#32326
31849
engcom-Kilo
#32363
30149
ihor-sviziev
#32462
26377, 32440
gixid192
#32393
30257
gixid192
#32398
31633
engcom-Charlie
#32212
30756
engcom-Charlie
#32186
32116
sergiy-v
#31961
31962
engcom-Charlie
#32273
17727
맘싱클
#32389
32088
bogutskyy
#30755
30577
AntonEvers
#28973
29549
zakdma
#32580
27656
engcom-Kilo
#32650
31956
mastiuhin-olexandr
#32194
32102
문제
#27012
22273
sivaschenko
#32710
32709
단계
#32639
32644
engcom-Foxtrot
#32646
32647
engcom-Charlie
#32254
19345
두개골 재채기
#32298
32671
kate-kyzyma
#32288
32379
세션 중
#32400
32495
mrtuvn
#32434
32454
ihor-sviziev
#32532
27411, 32525
kate-kyzyma
#32498
32502
kate-kyzyma
#32463
32507, 32569
sergiy-v
#32517
32518
kate-kyzyma
#32524
32583
kate-kyzyma
#32477
32504
kate-kyzyma
#32467
32505
charles-tychons
#32448
32616
bgorski
#32612
32578
bgorski
#32610
32658
ProkopovVitaliy
#31938
32577, 4451
mrtuvn
#31080
31140
fredden
#30695
30788
thomas-kl1
#30823
30860
engcom-Kilo
#32730
23645
kate-kyzyma
#32465
32506
ihor-sviziev
#32499
32501
kate-kyzyma
#32539
32568
Usik2203
#32353
32279
vlmed
#32356
martasiewierska
#32802
32810
DmitryTsymbal
#32759
단계
#32145
32786
engcom-Foxtrot
#32099
32100
erfanimani
#31985
31984
kate-kyzyma
#32295
32377
vidyli
#31296
24635
engcom-Kilo
#32755
24363
ihor-sviziev
#32614
31777, 826
rogyar
#30623
29631, 30210

시스템 요구 사항

우리의 기술 스택은 PHP와 MySQL을 기반으로 구축됩니다. 자세한 내용은 시스템 요구 사항을 참조하십시오.

설치 및 업그레이드 지침

작성기를 사용하여 Adobe Commerce 2.4.3을 설치할 수 있습니다.

마이그레이션 툴 키트

데이터 마이그레이션 도구는 기존 Magento 1.x 저장소 데이터를 Magento 2.x로 전송하는 데 도움이 됩니다. 이 명령줄 인터페이스에는 확인, 진행 추적, 로깅 및 테스트 기능이 포함됩니다. 설치 지침은 데이터 마이그레이션 도구 설치를 참조하십시오. 데이터 마이그레이션 저장소를 살펴보거나 기여해 보십시오.

코드 마이그레이션 도구 키트는 기존 Magento 1.x 저장소 확장 및 사용자 지정을 Magento 2.x로 전송하는 데 도움이 됩니다. 명령줄 인터페이스에는 Magento 1.x 모듈 및 레이아웃을 변환하는 스크립트가 포함되어 있습니다.

recommendation-more-help
1d4eef6c-fef1-4e61-85eb-b58d7b9ac29f