업그레이드 시 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 라이브러리가 제거되었습니다. Magento_Tinymce3Banner TinyMCE v3.x와 관련된 모듈 및 MFTF 테스트가 Adobe Systems 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에서 제공하는 실시간 검색은(는) 인공 지능과 머신 러닝 알고리즘을 사용하여 집계된 방문자 데이터를 심층 분석함으로써 직관적인 검색 경험을 제공합니다. 실시간 검색 릴리스 정보를 참조하세요.

그래프QL

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

B2B

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

페이지 빌더

페이지 빌더는 이제 Magento Open Source 에서 번들 확장으로 사용할 수 있습니다. 이제 Adobe Systems 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
  • 이제 쇼핑객이 업데이트​ 버튼을 클릭 ​하지 않고 배송 단계로 돌아가면 애플리케이션은 체크아웃 결제 단계에서 과금 주소 양식에 대한 변경 사항을 무시합니다.
  • 이제 애플리케이션에 정보 오류 메시지가 표시되며 쇼핑객 잘못된 제품 수량 추가하고 Shopping 장바구니 관리 페이지에서 품목 및 수량​ 업데이트 버튼 클릭 ​할 때 제품 수량 업데이트되지 않습니다. 이전에는 애플리케이션이 제품 수량 업그레이드되었으며 오류 메시지가 표시되지 않았습니다. GitHub-459
  • 사용자 지정 가능한 옵션이 (File) 있는 제품에는 이제 다중 배송 체크아웃 프로세스 전체에서 예상대로 활성 링크가 포함됩니다. 이전에는 이 링크 가 누락되었습니다. GitHub-31095
  • 이제 관리 장바구니에서 여러 통화를 지원하는 스토어의 제품 가격을 올바른 통화로 표시합니다. 이전에는 가격이 지정된 통화로 두 번 이상 전환되었습니다. 처음에는 상점 앞쪽에서 장바구니에 제품이 추가되었고 그 다음에는 나중에 관리자에서 주문이 렌더링될 때 다시 전환되었습니다.
  • 이제 애플리케이션은 관리자가 상점 첫 화면에서 쇼핑객이 만든 관리자의 주문을 완료한 후 예상대로 장바구니를 비웁니다. 이전에는 관리자가 주문을 완료한 후 고객이 다시 로그인하면 상점 장바구니에 주문 콘텐츠가 여전히 포함되었습니다. GitHub-30262
  • 이제 구매자는 최소 광고 가격(MAP)이 일반 제품 가격을 초과하는 제품을 장바구니에 추가할 수 있습니다.
  • 이제 구매자는 여러 주소로 체크아웃할 때 체크아웃 워크플로우에서 청구 주소를 성공적으로 변경할 수 있습니다.
  • 게스트가 생성한 모든 유료 결제 거래는 이제 데이터베이스에 저장되고 예상대로 관리자에 표시됩니다. 이전에는 일부 소규모 동시 주문만 데이터베이스에 저장되었으며 데이터베이스 잠금으로 인한 시간 초과로 인해 대부분의 주문이 손실되었습니다. GitHub-25862
  • 이제 게스트가 미니 장바구니에 제품을 배치할 때 애플리케이션에서 특수 문자가 포함된 인라인 환영 메시지를 올바르게 표시합니다. 이전에는 애플리케이션이 미니 장바구니에 제품을 추가하거나 시작 메시지를 표시하지 않았습니다. GitHub-32250
  • 매장 배달을 활성화하면 체크아웃 워크플로우의 배송 페이지가 성공적으로 로드됩니다. 이전에는 애플리케이션에서 JavaScript 오류가 발생했으며 배송 체크아웃 페이지가 완전히 렌더링되지 않았습니다.
  • 카탈로그 di.xml 파일에 itemResolvers 인수를 추가했습니다. 따라서 구성 가능하고 그룹화된 제품 모듈이 비활성화된 경우 체크아웃이 더 이상 중단되지 않습니다. GitHub-30860
  • 이제 응용 프로그램에서 관리자 순서 변경 작업 과정에서 예상한 대로 결제 및 배송 정보 섹션에 라디오 단추를 표시합니다. GitHub-30257
  • 이제 애플리케이션은 장바구니에 여러 옵션이 있는 번들 제품이 포함되어 있는 경우 장바구니 수준 고정 할인과 함께 장바구니 가격 규칙을 올바르게 적용합니다. 이전에는 장바구니 가격 규칙 이 주문에 완전히 적용되지 않았습니다. GitHub-30952
  • 이제 카테고리 목록 보기의 장바구니 ​에 추가 버튼 이 예상대로 작동합니다. GitHub-32232
  • 이제 POST /V1/carts/mine/items 를 사용하여 그룹화된 제품의 사용자 지정 수량을 장바구니에 추가할 수 있습니다. GitHub-26909
  • 애플리케이션이 더 이상 체크아웃 워크플로우의 청구 주소 영역을 배송 주소로 채우지 않습니다. 이전에는 청구 주소의 시/도 필드가 비어 있고 배송 주소와 청구 주소가 다른 경우 응용 프로그램에서 청구 주소 시/도 필드를 배송 주소의 정보로 채웠습니다. GitHub-31608

카탈로그

  • Enable Qty Increments (수량 증분 활성화) 및 Qty Increments(수량 증분 활성화)속성의 ​대량 업데이트가 이제 예상대로 작동합니다. 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로 인코딩된 이미지 및 글꼴 로드를 지원합니다.