Adobe Commerce 2.4.2 릴리스 노트

Adobe Commerce 2.4.2에는 향상된 성능 및 보안과 더불어 대폭 향상된 플랫폼이 도입되었습니다. 보안 개선 사항에는 모든 쿠키에 대한 SameSite 특성에 대한 지원이 확장되었습니다. B2B 개선은 구매 발주에 대한 온라인 결제 지원에 중점을 둡니다. 이제 Elasticsearch 7.9.x 및 Redis 6.x가 지원됩니다.

이 릴리스에는 코어 코드에 대한 280개 이상의 새로운 수정 사항과 35개의 보안 개선 사항이 포함되어 있습니다. 커뮤니티 회원이 290개에 달하는 GitHub 문제의 해결을 포함합니다. 이러한 커뮤니티 기여도는 핵심 코드의 사소한 정리부터 GraphQL의 중요한 개선 사항에 이르기까지 다양합니다.

2.4.1에서 식별된 모든 알려진 문제는 이 릴리스에서 해결되었습니다.

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

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

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

보안 패치 사용 가능

판매자는 이제 전체 분기별 릴리스에서 제공하는 수백 가지의 기능 수정 사항 및 개선 사항을 적용하지 않고 시간에 민감한 보안 수정 사항을 설치할 수 있습니다(예: 2.4.1-p1). 패치 2.4.0.12(Composer 패키지 2.4.1-p1)는 이전 분기 릴리스인 2.4.1에서 식별된 취약점에 대한 수정 사항을 제공하는 보안 패치입니다. 2.4.1 릴리스에 적용된 모든 핫픽스는 이 보안 패치에 포함되어 있습니다. 핫픽스 ​에서는 특정 문제나 버그를 해결하는 릴리스된 버전에 대한 수정 사항을 제공합니다.

보안 패치에 대한 일반적인 정보는 새 보안 패치 릴리스 소개를 참조하십시오. 보안 패치(패치 2.4.1-p1 포함)를 다운로드하고 적용하는 방법은 빠른 시작 온-프레미스 설치를 참조하십시오. 보안 패치에는 전체 패치에 포함된 추가 보안 개선 사항이 아닌 보안 버그 수정 사항만 포함됩니다.

기타 릴리스 정보

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

강조 표시

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

강화된 보안 기능

이 릴리스에는 35개 이상의 보안 수정 사항 및 플랫폼 보안 개선 사항이 포함되어 있습니다. 모든 보안 수정 사항이 2.4.1-p1 및 2.3.6-p1로 백포트되었습니다.

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

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

추가적인 보안 개선 사항

이번 릴리스의 보안 개선 사항은 다음과 같습니다.

  • 이제 모든 핵심 쿠키가 SameSite 특성을 지원합니다.

  • 이제 사용자가 제품 및 카테고리 설명 필드에 값을 저장하려고 할 때 애플리케이션에서 잠재적인 악성 콘텐츠를 식별하는 메시지를 표시합니다.

  • 구성 요소 전반에 걸친 파일 시스템 작업은 악의적인 업로드를 방지하기 위해 표준화되고 엄격해졌습니다.

  • 핵심 CSP(콘텐츠 보안 정책) 위반이 수정되었습니다.

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

인프라 개선 사항

이 릴리스에는 프레임워크의 품질을 개선하는 핵심 품질에 대한 개선 사항이 포함되어 있으며 고객 계정, 카탈로그, CMS, OMS, 가져오기/내보내기, 프로모션 및 타깃팅, 장바구니와 체크아웃, B2B, 스테이징 및 미리보기 등의 기능 영역이 있습니다.

플랫폼 개선 사항

  • Elasticsearch 7.9.x가 지원됩니다. Elasticsearch 7.9.x를 실행하는 것이 좋지만 버전 2.4.x는 Elasticsearch 7.4.x와 호환됩니다.

  • 2.4.2를 바니시 6.4(으)로 테스트했습니다. 버전 2.4.x는 Varnish 6.x와 호환됩니다.

  • 이제 Redis 6.x가 지원됩니다. 버전 2.4.x는 Redis 5.x와 호환됩니다.

  • 2.4.2는 이제 Composer 2.x ​과(와) 호환됩니다. 판매자는 Composer 2.x로 마이그레이션하는 것이 좋습니다. Composer 1.x를 사용하여 이 릴리스를 설치할 수 있지만 Composer 1.x는 곧 사용 수명이 종료됩니다. Composer 2.x 기능에 대한 개요를 보려면 Composer 2.0을 사용할 수 있습니다!

분할 데이터베이스를 사용하도록 설치를 구성하는 기능은 이 릴리스에서 더 이상 사용되지 않습니다. 현재 분할 데이터베이스를 사용하는 판매자는 단일 데이터베이스로 되돌리거나 마이그레이션하거나 다른 방법을 사용할 계획을 시작해야 합니다. 이 문제에 대한 개요는 Adobe Commerce의 분할 데이터베이스 기능 사용 중단 DevBlog 게시물을 참조하십시오. 마이그레이션 지침은 분할 데이터베이스에서 단일 데이터베이스로 되돌리기를 참조하십시오.

성능 향상

이 릴리스에는 대규모 카탈로그를 사용하는 배포에 대한 API 성능 및 관리 응답 시간을 향상시키는 코드 개선 사항이 포함되어 있습니다. 다양한 확장성 개선을 통해 2.4.2는 기본적으로 이전 릴리스보다 최대 20배 더 큰 복잡한 카탈로그를 지원할 수 있습니다.

GraphQL

이번 릴리스에는 다음 기능에 대한 GraphQL 적용 범위가 추가됩니다.

  • 여러 위시리스트에 대한 지원이 추가되었습니다. GraphQL을 사용하여 위시리스트를 만들기, 삭제이름 바꾸기이동 또는 복사할 수 있습니다.

  • RMA(반품 승인)에 대한 지원이 추가되었습니다. 쇼핑객은 반품을 요청할 수 있습니다. 판매자가 요청을 수락하면 구매자는 댓글 추가추적 정보 추가와 같은 작업을 수행할 수 있습니다.

  • 다음 B2B 기능에 대한 지원이 추가되었습니다.

  • GraphQL의 조합에 대한 지원이 추가되었습니다. GitHub-29425

  • 비교 목록에 대한 지원을 추가했습니다. 쇼핑객은 비교 목록을 만들기삭제하고, 비교 목록에 항목을 추가제거할 수 있습니다. 또한 비교 목록을 게스트로 만드는 쇼핑객은 고객으로 로그인하여 비교 목록을 유지할 수 있습니다.

  • generateCustomerTokenAsAdmin 돌연변이를 추가하고 원격 구매 지원을 지원하도록 Customer 개체를 업데이트했습니다.

  • 언어, 장바구니 및 통화 변경과 같은 작업을 지원하기 위해 스토어 전체에 로컬라이제이션 지원이 추가되었습니다.

  • 변형이 많은 구성 가능한 제품에 대해 제품 데이터 검색을 최적화하도록 GraphQL 스키마가 향상되었습니다.

  • 정수 형식 개체 ID는 형식 ID의 uid 특성을 위해 더 이상 사용되지 않습니다.

  • 제품이 스테이징되었는지 확인하고 연결된 캠페인 정보를 보기 위해 staging 특성을 ProductInterfaceCategoryInterface에 추가했습니다.

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

B2B

2.4.2는 B2B v1.3.1을 도입했습니다. 이 릴리스에는 구매 발주에 대한 온라인 결제 및 여러 버그 수정에 대한 지원이 포함됩니다.

이제 온라인 결제 방법을 사용하여 구매 주문을 완료할 수 있습니다. B2B 구매자는 초기 체크아웃 중에 각 구매 주문에 대해 선호하는 결제 방법을 선택하라는 메시지가 표시됩니다. 구매 발주가 승인되면 구매자는 구매 발주를 최종 주문으로 전환하기 위해 결제 상세내역을 입력하라는 메시지를 받습니다.

온라인 결제 수락에 대한 전체 워크플로우를 지원하려면 이 기능도 다음과 같이 하십시오.

  • 초기 체크아웃 시 기존 결제 방법 템플릿을 재정의하여 PCI 규정 준수를 유지합니다.

  • 서드파티, 사용자 지정 및 커뮤니티에서 개발한 결제 방법과의 호환성을 유지합니다.

  • 승인된 구매 발주에 결제 세부 사항을 추가해야 할 경우 구매자에게 이메일로 알립니다.

  • 관리자의 이메일 사용자 지정을 활성화하여 판매자가 브랜딩과 일치하는 템플릿을 사용할 수 있도록 합니다.

  • 작업이 필요한 시기를 명확하게 표시하기 위해 구매 주문의 Approved – Pending Payment 상태를 도입합니다.

  • 최종 결제 단계에서 할인 코드가 추가되거나 제거되지 않도록 하여 승인된 구매 발주의 주문 총액이 변경되지 않도록 합니다.

  • 구매자가 최종 결제 단계에서 결제 방법을 변경하여 유연성을 유지하고 전환율을 높일 수 있습니다.

이 릴리스에는 여러 버그 수정도 포함됩니다. B2B 릴리스 정보를 참조하세요.

PWA Studio

이 PWA Studio 릴리스에는 다음이 포함됩니다.

  • 다국어화 및 현지화 Venia는 이제 여러 언어와 통화를 지원합니다.

  • 확장을 통해 코드 변경을 지원하도록 확장성 프레임워크를 개선했습니다.

  • 위시리스트, 저장된 결제, 주소록 및 주문 내역과 같은 내 계정 관련 기능에 대한 초기 구성 요소.

  • 다양한 성능 최적화 및 버그 수정.

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

페이지 빌더

이 릴리스에는 Page Builder 콘텐츠 마이그레이션 및 Page Builder CSS 사용자 정의에 대한 개선 사항이 포함되어 있습니다.

  • 이제 개발자는 !important 지시문을 사용하지 않고도 뷰포트별로 컨텐츠 유형 출력의 스타일을 다르게 지정할 수 있습니다.

  • 페이지 빌더로 마이그레이션된 컨텐츠는 더 이상 기본 인라인 스타일링으로 채워지지 않습니다.

  • 페이지 빌더에서 더 이상 모든 콘텐츠 유형을 행 내에 배치할 필요가 없습니다. 페이지 빌더 단계는 이제 처음에 비어 있으며 행, 열, 탭, HTML 코드, 블록, 동적 블록과 같은 콘텐츠 형식을 단계에 직접 추가할 수 있습니다.

  • 사전 정의된 여백 및 패딩은 더 이상 콘텐츠 유형에 필요하지 않습니다.

  • 양식 필드 값에 대한 새 모바일 뷰포트 전환기 및 뷰포트 범위를 통해 사용자와 개발자는 다음 작업을 수행할 수 있습니다.

    • 작성 시 서로 다른 보기 포트에서 콘텐츠를 봅니다.

    • 각 뷰포트에 대해 서로 다른 콘텐츠 유형에서 최소 높이 필드 매개 변수를 최적화합니다. (기본적으로 하나의 매개 변수(최소 높이)만 지원됩니다. 다른 콘텐츠 매개 변수에 대해 모바일 최적화를 활성화하는 데 필요한 사용자 지정 개발입니다.)

    • 사용자 정의 필드 및 필드 세트(개발자)에 필드 범위를 추가합니다.

대화형 제품 내 지침

대화형 제품 내 지침은 새로운 기능 공지, 둘러보기 안내서, 온보딩 정보 및 도구 설명에 대한 관리자 내의 사용 팁과 정보를 판매자에게 제공합니다. 이 기능이 활성화되지 않은 경우 관리자는 관리자로부터 제품 내 안내를 받도록 옵트인해야 합니다. 사용 데이터 수집관리자 사용을 참조하세요.

Adobe Stock 통합

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

미디어 갤러리

미디어 갤러리에 대한 새 역할 리소스. 이 릴리스에서는 판매자가 미디어 갤러리에 대해서만 관리자 액세스를 제한하고 다음 작업을 수행할 수 있는 사용자를 제어할 수 있는 기능을 제공합니다.

  • 콘텐츠에 미디어 자산 삽입

  • 에셋 업로드

  • 에셋 세부 정보 편집

  • 미디어 갤러리에서 에셋 삭제

  • 폴더 구조를 관리합니다.

콘텐츠에 웹에 최적화된 이미지. 판매자는 이제 고해상도 이미지 대신 콘텐츠에서 웹에 최적화된 이미지 렌디션을 사용할 수 있습니다. 원본 이미지는 미디어 갤러리에서 수정되지 않은 상태로 유지되며, 이미지가 콘텐츠에 삽입되면 이미지 렌디션이 동적으로 생성됩니다.

AWS S3 지원 개선 사항

Amazon Simple Storage Service(AWS S3) 지원이 다음과 같은 지원을 포함하도록 개선되었습니다.

AWS S3에 대한 지원이 B2B, PageBuilder 및 Adobe Stock 통합을 포함한 모든 모듈에 추가되었습니다.

기능 테스트 프레임워크(MTF)

이제 MTF 3.2.1을 사용할 수 있습니다. 이 릴리스에는 테스트 및 테스트 세트 생성 모두에서 오류 허용 범위가 도입되었습니다. 추가 개선 사항 및 버그 수정 사항은 기능 테스트 프레임워크 변경 로그에 설명되어 있습니다.

Order Management 시스템(OMS)

MCOM 커넥터는 2.4.2와 완벽하게 호환됩니다. 커넥터에 대한 버그 수정 및 개선 사항은 커넥터에 대한 릴리스 노트에 설명되어 있습니다. 이 릴리스에는 OMS 명령줄 인터페이스에 대한 개선 사항이 포함되어 있습니다. 이제 파트너 및 지원 팀이 retry, queue_prune, order_sync, message processcatalog export 프로세스 문제를 해결하는 데 사용할 수 있는 자세한 정보를 제공합니다.

공급업체가 개발한 확장

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

해결된 문제

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

설치, 업그레이드, 배포

  • 이제 판매자는 MySQL 8.x를 실행하는 Open Source 배포를 Commerce 배포로 성공적으로 업그레이드할 수 있습니다. 이전에는 업그레이드 중에 row_id이(가) 추가된 모든 테이블에 대해 AUTO_INCREMENT 값을 초기 값으로 되돌리는 경우 응용 프로그램에서 예외를 throw했습니다.
  • bin/magento/setup:db:generate-patch을(를) 실행할 때 오류가 발생하면 응용 프로그램에서 패치를 만드는 데 사용된 경로를 식별하는 오류 메시지를 표시합니다. GitHub-27523
  • bin/magento/setup:upgrade 실행 후 예상대로 block_html, full_pagelayout 캐시가 비활성화되었습니다. GitHub-28186
  • bootstrap.php에 필요한 최소 PHP 버전이 업데이트되었습니다. GitHub-30004
  • 이제 샘플 데이터를 설치한 후 bin/magento/setup:upgrade을(를) 실행할 수 있습니다. 이전에는 bin/magento/setup:upgrade을(를) 실행하려고 할 때 응용 프로그램에 다음 오류가 표시되었습니다. unable to apply data patch magento\catalogrulesampledata\setup\patch\data\installcatalogrulesampledata for module magento_catalogrulesampledata. 응용 프로그램에서 시스템 로그 main.ERROR: Sample Data error: Unable to unserialize value. Error: Syntax error에도 이 오류를 표시했습니다. GitHub-30685
  • 이제 예상대로 명령줄에서 YouTube API 키를 설정할 수 있습니다. 이전에는 bin/magento config:sensitive:set catalog/product_video/youtube_api_key을(를) 실행하려고 할 때 응용 프로그램에서 이 오류를 반환했습니다. There are no sensitive configurations to fill.
  • 이제 응용 프로그램에서 queue_consumer.xml에 정의된 maxMessages 값을 적용합니다. 이전에는 응용 프로그램에서 배포 구성 값만 사용했습니다. GitHub-29522
  • bin/magento setup:config:import을(를) 사용하여 스토어를 만들 때 새 스토어에 대한 URL 생성이 예상대로 작동합니다. 이전에는 프로덕션 환경에서 URL 재쓰기가 생성되지 않았습니다. GitHub-30025
  • 기존 데이터베이스에 연결하기 위해 bin/magento setup:install을(를) 실행할 때 응용 프로그램에서 이 질문을 더 이상 표시하지 않습니다. Overwrite the existing configuration for db-ssl-verify?[Y/n]. GitHub-29612

관리자 GWS

  • 권한이 제한된 관리자의 스토어 > 특성 > 등급 페이지에서 새 등급 추가 단추와 저장, 삭제, 재설정 단추를 더 이상 사용할 수 없습니다.
  • 이제 관리자는 로그인한 관리자가 권한이 있는 웹 사이트의 데이터만 표시합니다. 이전에는 관리자가 배포에 있는 모든 웹 사이트의 데이터를 표시했습니다.
  • 이제 웹 사이트 ID의 크기에 관계없이 선택한 모든 웹 사이트가 gws_websites에 저장됩니다. 이전에는 웹 사이트 ID가 잘리고 선택한 웹 사이트 목록이 데이터베이스에 저장되지 않았습니다. 사용자 역할이 올바르게 저장되지 않았으며 판매자가 역할을 변경하고 저장하려고 할 때 응용 프로그램에 이 오류가 표시되었습니다. The "X" store ID is incorrect. Verify the store ID and try again.
  • 이제 제한된 관리자의 관리 그리드에 올바른 항목 수가 표시됩니다. 이전에는 이러한 그리드에 대해 표시된 수가 모든 국가의 데이터를 반영했지만 그리드 자체에는 특정 국가의 데이터만 표시되었습니다. (이 수정 사항은 고객 세그먼트, 카탈로그 가격 규칙, 장바구니 가격 규칙, 모든 사용자, 잠긴 사용자 및 사용자 역할 그리드와 관련된 문제를 수정합니다.)
  • 권한이 Magento_Catalog::edit_product_design(제품 디자인 편집)을(를) 제외하는 관리자는 이제 선택한 스토어 보기에서 새 이름으로 기존 제품을 저장하여 새 제품을 만들 수 있습니다. 이전에는 응용 프로그램에서 다음 오류가 표시되었습니다. Not allowed to edit the product's design attributes. GitHub-28106
  • 관리자가 이러한 엔터티를 만들 수 있는 적절한 권한이 없을 때 응용 프로그램에서 스토어 > 특성 아래의 페이지에 특성 추가 단추가 더 이상 표시되지 않습니다. 이전에는 적절한 권한이 없는 웹 사이트 관리자가 특성 집합 또는 고객 특성을 만들려고 하면 응용 프로그램에서 404 오류가 발생했습니다.
  • Adobe Commerce을 설치한 후 ssh 컨테이너를 사용하여 backend-frontname을(를) 변경하려고 하면 응용 프로그램에서 더 이상 오류가 발생하지 않습니다. GitHub-26762

Adobe Stock 통합

  • exif_image.png 또는 exif-image.jpeg 메타데이터 읽기에 대한 지원을 추가했습니다. GitHub-1449
  • 미디어 갤러리의 기본 보기 책갈피를 클릭할 때 표시되는 콘텐츠는 더 이상 필터링되지 않습니다. 이전에는 기본 보기에 url-filter 응용 프로그램에서 적용된 필터가 포함되어 있었습니다. GitHub-1813, GitHub-1789, GitHub-1780
  • 논리를 WYSIWYG OnInsert 컨트롤러(Magento\Cms\Controller\Adminhtml\Wysiwyg\Images\OnInsert::execute())에서 제거하고 Model\Wysiwyg\Images\PrepareImage::execute() 모델에 추가했습니다. GitHub-1504
  • media-content:sync 명령(\Magento\MediaContentSynchronization\Console\Command\Synchronize::execute)에서 영역 에뮬레이션이 제거되었습니다. GitHub-1784

분석

  • 이제 고급 보고가 동일한 도메인의 여러 환경에서 예상대로 작동합니다. 이전에는 CSV 표준 RFC4180에서 요구하는 대로 큰따옴표가 다른 큰따옴표가 아닌 백슬래시로 이스케이프되므로 고급 보고로 생성된 CSV 파일이 실패했습니다.
  • 이제 env.php의 MySQL에 연결할 때 기본 또는 기본이 아닌 포트를 사용할 때 analytics_collect_data 작업이 성공적으로 실행됩니다. 이전에는 기본이 아닌 포트를 사용할 때 analytics_collect_data에서 오류가 발생했습니다.
  • analytics_collect_data에서 생성한 CSV 파일이 이제 제대로 이스케이프됩니다. 이전에는 이러한 파일이 올바른 이스케이프로 생성되지 않았으므로 인벤토리 보고서가 생성되지 않았습니다.

Braintree

  • 이제 구매자는 Apple Pay를 사용하여 가상 제품을 성공적으로 주문할 수 있습니다. 이전에는 응용 프로그램에서 다음 오류가 발생했습니다. There are no shipping methods available for you right now. Please try again or use an alternative payment method.

  • 이제 기본 PayPal Express 체크아웃 결제 방법이 Braintree 신용카드 결제 방법과 함께 예상대로 작동합니다. 이전에는 Braintree 신용 카드 결제 방법을 사용할 때 PayPal 버튼이 표시되지 않았습니다.

번들 제품

  • 애플리케이션은 더 이상 고정 가격 번들 제품 하위 항목의 가격을 따옴표로 묶어 설정하지 않습니다.
  • 이제 번들 제품에 품절 제품이 포함된 경우 가격 정렬이 예상대로 작동합니다. 이전에는 내림차순으로 정렬하면 가격이 하락하는 순서로 상품을 표시하지 않았다.
  • 이제 여러 옵션이 있을 때 애플리케이션에서 번들 제품 옵션에 대해 기본 수량인 1을 자동으로 적용합니다. 기존에는 가맹점이 각 옵션에 기본 수량을 수동으로 지정해야 했다.
  • 이제 주문 송장 생성 페이지에 번들 제품에 대한 하위 제품이 예상대로 표시됩니다. GitHub-27350
  • 이제 사용자 지정 가격으로 번들 제품의 일부인 단순 제품을 재주문할 때 애플리케이션에서 올바른 제품 가격을 할당합니다. 이전에는 번들 제품에 대한 사용자 지정 가격을 설정하면 재주문 시 첨부된 간단한 제품에 대한 가격이 올바르지 않았습니다. GitHub-30343
  • 이제 POST /V1/order/{orderId}/ship을(를) 호출하여 번들 제품이 포함된 주문을 배송하면 예상대로 주문이 완료됨으로 표시됩니다. 이전에는 응용 프로그램에서 다음 오류 메시지를 표시했습니다. You can't create a shipment without products. GitHub-9762

장바구니 및 체크아웃

  • 이제 체크아웃 워크플로우의 배송 단계에서 사용자 지정 주소 속성이 있을 때 배송 방법 견적 도구가 예상대로 작동합니다. 이전에는 응용 프로그램에 다음 오류 메시지가 표시되었습니다. {"message":"Error occurred during \"custom_attributes\" processing. A custom attribute is specified with a missing attribute code. Verify the code and try again."} GitHub-27505
  • 이제 쇼핑객이 장바구니에서 유일한 항목을 제거할 때 예상대로 애플리케이션에서 미니 장바구니에 You have no items in your shopping cart 메시지를 표시합니다. 이전에는 쇼핑객이 단일 항목을 제거할 때 checkout/cart/removeFailed에 대한 장바구니 데이터가 업데이트되지 않았으며, 응용 프로그램에서 다음 메시지를 표시했습니다. 1 product requires your attention.
  • 애플리케이션에서 적용 불가능한 운송 방법에 대한 주문의 운송 비용을 더 이상 표시하지 않습니다. 이전에는 체크아웃 워크플로우에서 적용 불가능한 배송 방법에 대한 가격이 0으로 표시되었습니다.
  • 체크 아웃 워크플로에서 내 청구 및 배송 주소가 동일 확인란의 선택을 취소하면 고객의 기본 청구 주소가 선택됩니다.
  • 관리자는 관리자로부터 멀리 리디렉션되지 않고 관리자의 SKU로 제품을 장바구니에 추가할 수 있습니다. 관리자가 더 이상 상점 페이지로 리디렉션되지 않고, 애플리케이션이 예상대로 장바구니 항목 관리 섹션에 제품을 표시합니다.
  • 이제 SKU로 제품을 장바구니에 추가할 때 여러 유형의 오류가 포함된 CSV 파일을 업로드할 때 애플리케이션에 유용한 오류 메시지가 표시됩니다. 이전에는 장바구니 관리 > SKU로 장바구니에 추가 ​에서 파일 선택 ​을 클릭하면 응용 프로그램에 빈 페이지와 일반 오류 메시지가 표시되었습니다.
  • 쇼핑객이 다른 도메인의 한 스토어에서 다른 스토어로 전환할 때 장바구니 콘텐츠가 더 이상 손실되지 않습니다.
  • 이제 구매자는 여러 배송 방법을 사용할 때 여러 주소로 체크아웃을 사용하여 주문을 성공적으로 완료할 수 있습니다. 이전에는 응용 프로그램에서 다음 오류가 표시되었습니다. There has been an error processing your request. GitHub-30197
  • 이제 쇼핑 카트에서 스토어 보기를 변경할 때 애플리케이션에서 체크아웃 워크플로우의 배송 페이지에 올바른 기본 국가가 표시됩니다.
  • 이제 게스트 쇼핑객이 로그인할 때 사후 로그아웃 암호를 재설정한 후 고객 세션을 정리할 때 애플리케이션에서 현재 세션을 제외합니다. 이전에는 쇼핑객이 비밀번호를 재설정할 때 애플리케이션에서 장바구니를 비웠습니다.
  • 이제 쇼핑객이 장바구니에서 스토어 보기를 변경할 때 애플리케이션에 스토어 보기에 대한 올바른 기본 국가가 표시됩니다. 이전에는 장바구니에서 스토어 보기를 변경할 때 기본 국가가 올바르지 않았습니다.
  • 카탈로그 권한이 구성된 시퀀스에서 더 이상 올바른 권한을 가진 관리자가 제품을 장바구니에 추가할 수 없습니다. 이전에는 응용 프로그램에서 현재 고객 그룹에 대한 addToCart 구성 설정을 확인하지 않았습니다. 그 결과 관리자가 장바구니에 제품을 추가하려고 할 때 애플리케이션에서 오류가 발생했습니다.
  • 장바구니의 /rest/V1/guest-carts/cart_id/totals-information 끝점에 대한 중복 호출이 제거되어 장바구니 성능이 향상되었습니다. 이전에는 쇼핑객이 장바구니에 제품을 추가한 다음 장바구니를 볼 때 애플리케이션이 collectAddressTotals 메서드를 여러 번 호출했습니다.
  • 국가에 대해 선택 사항인 경우 상태 선택 허용 설정을 사용하지 않도록 설정한 경우 응용 프로그램에서 체크아웃 워크플로의 국가에 대한 지역 필드를 더 이상 표시하지 않습니다. GitHub-30747
  • 관리자가 주문을 다시 정렬할 때 애플리케이션에서 더 이상 상점 첫 번째 체크아웃 워크플로에서 배송 주소를 반복하지 않습니다.
  • AdminMediaGalleryInsertLargeImageFileSizeTest 디자인의 문제를 해결했습니다.
  • 게스트에 대한 quote 테이블의 모든 새 레코드에 customer_is_guest field의 값이 할당되었습니다. 이전에는 장바구니에 제품을 추가한 각 새 게스트에 대해 quote.customer_is_guest 필드에 레코드가 0으로 할당되었습니다.
  • 체크아웃 워크플로의 검토 및 결제 섹션에 있는 제출 단추가 <form id="purchaseorder-form"...></form> 내부로 이동되었습니다. 따라서 JavaScript을 변경하지 않고도 암시적 양식 제출이 가능합니다. GitHub-27925
  • 국가에 대해 선택 사항인 경우 상태 선택 허용 설정을 사용하지 않도록 설정하면 응용 프로그램에서 체크아웃 워크플로에 더 이상 지역 필드를 표시하지 않습니다. GitHub-30747
  • 이제 여러 주소로 체크아웃하는 동안 쇼핑객이 장바구니 업데이트 ​를 클릭하면 애플리케이션에서 장바구니의 항목 소계를 올바르게 업데이트합니다. GitHub-30408
  • 현재 설치되지 않은 결제 방법에 대해 config.xml개의 노드가 있는 경우 애플리케이션에서 더 이상 예외가 발생하지 않습니다. 이전에는 체크아웃하는 동안 애플리케이션에서 예외가 발생했습니다. GitHub-29555
  • 이제 애플리케이션에서 미니 장바구니에 특수 문자가 올바르게 포함된 제품 이름을 렌더링합니다. GitHub-29075
  • 이제 애플리케이션에서 테이블 비율에 대한 올바른 할인 패키지를 설정합니다. 이전에는 테이블 요금을 계산할 때 장바구니에 할인을 설정하는 장바구니 규칙을 적용하지 않았습니다. GitHub-30169

장바구니 가격 규칙

  • 이제 장바구니 가격 규칙은 주문 소계가 세금을 통합하지 않고 계산될 때 예상대로 적용됩니다. 새 Subtotal (Incl. Tax) 옵션이 장바구니 가격 규칙 조건으로 추가되었습니다.
  • 이제 전체 장바구니에 대한 고정 금액 할인 액션을 사용할 때 GraphQL을 사용하는 쿠폰이 포함된 가격 규칙을 적용할 수 있습니다.

카탈로그

  • 이제 애플리케이션은 예상대로 상점 앞에 재활성화된 모든 제품을 표시합니다. 이전에는 제품을 비활성화했다가 다시 활성화하면 제품을 다시 활성화한 후 페이지 캐시가 무효화되지 않으므로 Varnish 페이지 캐시를 지우거나 저장소가 다시 인덱싱될 때까지 애플리케이션이 제품을 표시하지 않았습니다.
  • 대형 카탈로그의 부분 재인덱싱이 이제 예상대로 작동합니다. 이전에는 catalogsearch_fulltext 부분 인덱서를 사용하여 다시 인덱싱하는 동안 제품이 상점 카테고리 페이지에서 임의로 사라졌습니다.
  • 이제 구매자는 예상대로 사용자 정의 가능한 옵션을 사용하여 인보이스 발행 주문을 다시 주문할 수 있습니다. 이전에는 쇼핑객이 {"0":"The product's required option(s) weren't entered. Make sure the options are entered and try again을(를) 다시 주문하려고 할 때 애플리케이션에서 이 오류가 발생했습니다.
  • 이제 범주 디자인 페이지의 레이아웃 설정을 레이아웃 업데이트 없음(으)로 설정할 수 있습니다. 이전에는 레이아웃 업데이트 없음 값을 할당할 때 응용 프로그램이 범주 - 전체 너비(으)로 되돌아갔습니다.
  • 상점 첫 화면의 제품 정렬 순서 문제가 해결되었습니다. 이전에는 응용 프로그램에서 제품 가격을 인덱싱할 때 구성 가능한 제품의 min_pricemax_price을(를) catalog_product_index_price 테이블에서 0으로 설정하는 경우가 있었습니다. 이는 상점 앞의 가격 정렬 순서에 영향을 주었습니다.
  • 이제 응용 프로그램에서 레이블이 Product Type인 특성을 성공적으로 업데이트했습니다. 이전에는 코드에서 product_type 특성이 예약되어 있으므로 Product Type 특성을 업데이트하려고 할 때 응용 프로그램에서 이 메시지를 표시했습니다. An attribute with the same code (product_type) already exists.
  • 제품을 저장할 때 제품 세부 사항 페이지의 이미지 및 비디오 섹션에서 업로드된 비디오의 위치가 더 이상 변경되지 않습니다. 이전에는 새 이미지 위치에 인덱스 값(목록의 위치)이 지정되었으며 기존 이미지 위치가 인덱스 값과 정렬되지 않으면 새 이미지가 목록에서 잘못 배치되었습니다.
  • 장바구니에 추가 기능은 이제 장바구니에 추가 단추를 클릭할 때마다 예상대로 작동합니다. 이전에는 제품 페이지가 로드될 때까지 기다리는 동안 이 단추를 여러 번 클릭한 경우 응용 프로그램에서 다음 오류가 발생했습니다. Invalid Form Key. Please refresh the page.
  • 판매자가 비활성화된 제품을 범주에 추가하거나 범주에서 제거할 때 애플리케이션에서 더 이상 범주 캐시를 플러시하지 않습니다. 이전에는 제품 상태에도 불구하고 관련 범주에 대한 캐시를 플러시했습니다. 또한 범주를 저장하면 범주가 할당 해제되어 범주 캐시가 플러시되었습니다.
  • 이제 모든 스토어 보기 범위 내의 카탈로그 제품 필터링이 제대로 작동합니다. 이전에는 사용 또는 사용하지 않는 제품만 필터링하면서 Enabled 또는 Disabled 상태의 제품이 그리드에 표시되었습니다.
  • 부분 리인덱싱으로 인해 더 이상 제품 누락과 빈 카테고리가 발생하지 않습니다.
  • 이제 JavaScript 일정 사용 ​을 사용하도록 설정하면 순서 재지정이 예상대로 작동합니다(스토어 > 구성 > 카탈로그 > 날짜 및 시간 사용자 지정 옵션). 이전에는, 이 설정을 활성화하면 이전에 주문한 주문을 관리자 Please specify date required option(s)에서 다시 주문하려고 할 때 응용 프로그램에 이 오류가 표시되었습니다.
  • 이제 계층 가격을 만드는 동안 다중 사이트 배포에 응용 프로그램이 올바른 통화를 표시합니다.
  • 이제 제품 이미지 사용자 지정 속성이 올바르게 이스케이프됩니다. data-src 특성에 예상대로 src 특성과 같은 값이 있습니다. 이전에는 URL 특수 기호가 이스케이프되었습니다.
  • REST API를 통해 범주를 업데이트하면 더 이상 범주 사용, 메뉴에 포함 및 URL 키 특성에 대한 기본값 사용 설정이 비활성화되지 않습니다.
  • 관리자의 카테고리 권한을 활성화해도 더 이상 카테고리 페이지에 대한 반복 방문 중 카테고리 페이지를 전체 페이지 캐시에 캐시하지 않습니다. 이전에는 페이지에 대한 후속 방문이 캐시에서 예상대로 제공되지 않아 성능이 저하되었습니다.
  • 이제 범주를 저장하면 이 범주와 관련된 블록 캐시만 플러시됩니다. 이전에는 애플리케이션에서 모든 범주 블록에 대한 캐시를 플러시했습니다.
  • 퍼센트 가격이 있는 사용자 지정 옵션의 가격이 이제 다중 스토어 배포에서 예상대로 활성 스토어의 기본 통화로 변환됩니다. 이전에는 퍼센트 가격이 있는 사용자 지정 옵션의 가격이 잘못 변환되었습니다. GitHub-26432
  • 이제 응용 프로그램에서 이미지를 성공적으로 다시 만들었고, 이러한 이미지는 판매자가 POST rest/all/V1/products을(를) 사용하여 미디어 갤러리 데이터를 보낼 때마다 예상대로 관리자에서 볼 수 있습니다. 이전에는 응용 프로그램에서 이미지를 다시 만들었지만 pub/media에서 이미지가 삭제된 경우 판매자가 POST rest/all/V1/products을(를) 통해 미디어 갤러리 데이터를 보낼 때 해당 이미지를 삭제했지만 미디어에 여전히 이러한 이미지에 대한 레코드가 포함된 레코드가 있는 경우 이 데이터를 삭제했습니다. 따라서 업데이트 프로세스 중에 이미지가 만들어지고 삭제되어 판매자는 관리자에서 자리 표시자만 보았습니다.
  • 이제 웹 사이트에서 항목을 할당 해제하면 레코드가 예상대로 삭제됩니다. 이전에는 POST rest/all/V1/products이(가) 실행될 때 이미지가 복제되었습니다.
  • 이제 /V1/categories/{categoryId}/products 호출이 부모 범주에 속하는 모든 제품 목록을 예상대로 반환합니다. 이전에는 제품이 상위 범주의 두 개 이상의 하위 범주에 속하는 경우 응용 프로그램에서 다음 유형의 오류를 발생시켰습니다. Internal Error. Details are available in the application log file. Report ID: webapi-5f8579e37db54. GitHub-30461
  • 이제 /V1/products/attributes/:attributeCode/options REST 끝점이 기존 특성 옵션 업데이트를 지원합니다.
  • 퍼센트 가격이 있는 사용자 지정 옵션의 가격이 이제 다중 스토어 배포에서 예상대로 활성 스토어의 기본 통화로 변환됩니다. 이전에는 퍼센트 가격이 있는 사용자 지정 옵션의 가격이 잘못 변환되었습니다. GitHub-26432
  • 이제 판매자는 제품 생성 중에 새 속성을 성공적으로 저장할 수 있습니다. 이전에는 고객이 속성을 저장하려고 할 때 애플리케이션에서 속성을 저장하지 않고 판매자가 스토어 뷰 홈 페이지로 리디렉션했습니다. GitHub-30362
  • 판매 > 주문카탈로그 > 제품 페이지의 제품 그리드에 최근에 만든 스토어뿐만 아니라 모든 관련 스토어가 나열됩니다. GitHub-29267
  • 기존 제품의 속성 값을 저장하는 데 사용할 수 있는 경우 제품 리포지토리에서 store_id을(를) 사용합니다. 이전에는 제품 저장소 클래스가 제품 저장소 ID를 재정의했으며 항상 기본 저장소 ID가 할당되었습니다. GitHub-29933

카탈로그 규칙

  • 이제 카탈로그 가격 규칙이 제품 세부 정보 페이지의 사용자 지정 옵션에 대해 예상대로 작동합니다. 이전에는 해당 페이지의 제품 가격이 해당 카탈로그 가격 규칙을 반영하지 않았습니다. GitHub-22856
  • 제품 및 카탈로그 캐시가 이제 예정대로 만료됩니다. 이전에는 сron이(가) 매일 한 번 catalogrule_apply_all 작업을 실행하여 모든 카탈로그 규칙 및 종속 인덱서를 다시 인덱싱하고 모든 제품 및 범주에 대한 캐시를 삭제했기 때문에 캐시가 매일 만료되었습니다.

정리

오타 및 문법 정리

  • 주문 실패 페이지의 제목이 정확하게 수정되었습니다. 이전에는 이 페이지의 제목이 주문받았습니다.. GitHub-29416
  • app/code/Magento/Contact/view/frontend/templates/form.phtml에서 불필요한 공백을 제거했습니다. GitHub-29779
  • bin/magento/setup:config:set 하위 명령에 대한 도움말 메시지에서 오타가 수정되었습니다. GitHub-28802
  • framework/Registry.php 파일에 대한 PHPDoc의 문법이 수정되었습니다. GitHub-29661
  • app/code/Magento/Catalog/Helper/Product/View.php에서 불필요한 공백을 제거했습니다. GitHub-30601
  • app/code/Magento/Ui/view/base/web/js/form/element/ui-select.js에서 함수 이름의 오타가 수정되었습니다. GitHub-29987
  • 미니 장바구니 및 체크아웃 주문 요약의 "항목"의 다원화를 수정했습니다. GitHub-29920
  • 마크업 계층화된 탐색 필터에서 인라인 요소의 공백을 제거했습니다. GitHub-30448
  • rl이(가) \Magento\Framework\Filter\Template\Tokenizer\Parameterurl(으)로 수정되었습니다. GitHub-29185

코드 정리

  • 시스템 > 가져오기 페이지의 데이터 확인 메시지 영역에서 불필요한 HTML <br> 태그가 제거되었습니다.
  • ChangeQuoteControl이(가) 리팩터링되었습니다. GitHub-29673
  • AccessChangeQuoteControl 및 해당 단위 테스트가 리팩터링되었습니다. GitHub-29672
  • app/code/Magento/Captcha/CustomerData/Captcha.php에서 반환 형식 선언의 코드 스타일을 수정했습니다. GitHub-29712
  • 새 속성 페이지에서 버튼 목록의 위치가 수정되었습니다.
  • \Magento\Framework\View\Element\Template 클래스에 대한 프런트 엔드 viewModel 참조 예제에 올바른 블록 클래스를 추가했습니다. GitHub-30450
  • 판매 규칙 양식의 중복 필드 세트가 제거되었습니다. GitHub-29599
  • hierarchy/edit.phtml 템플릿에서 불필요한 코드를 제거했습니다.
  • app/code/Magento/CatalogImportExport/Model/Export/Product.php에서 PHPdoc 주석을 수정했습니다. GitHub-30833
  • PublisherInterface 메시지에 대한 문서 블록 주석이 수정되었습니다. GitHub-30190
  • getStatusByState 메서드의 인수가 수정되었습니다. GitHub-30173
  • app/code/Magento/Quote/Model/Cart/Totals/ItemConverter.php에서 메서드 설명을 수정했습니다. GitHub-30125
  • 여러 파일에서 같은 줄에 중복 변수 할당이 제거되었습니다. GitHub-30133
  • EntityAbstract.php에서 @param string $attribute을(를) @param AbstractAttribute|string[]|string $attribute(으)로 변경했습니다. GitHub-30191
  • 코드 베이스 전체에서 잘못된 태그(예: @package@subpackage)가 docks에서 제거되었습니다. GitHub-30061
  • AdvancedPricing 클래스의 구문에서 사용되지 않는 매개 변수가 제거되었습니다. GitHub-29531

구성 가능한 제품

  • 이제 가격별로 품절 구성 가능한 제품을 필터링하면 올바른 가격 범위 내의 결과가 표시됩니다.
  • 가상 제품의 상태가 활성화됨에서 비활성화됨으로(또는 그 반대로) 변경될 때 가상 제품의 유형은 더 이상 변경되지 않습니다. 이전에는 상태가 변경되면 응용 프로그램이 제품 유형을 가상에서 단순으로 변경했습니다.
  • 카트를 업데이트할 때 getValue() 메서드가 더 이상 치명적인 오류를 트리거하지 않습니다.
  • 여러 웹 사이트에서 사용할 수 있는 구성 가능한 제품에는 더 이상 특정 웹 사이트에 할당되지 않은 간단한 하위 제품이 표시되지 않습니다. GitHub-28291
  • 이제 상점 제품 페이지에는 예상대로 세금 없이 계층 가격이 표시됩니다. GitHub-12225
  • 구성 가능한 제품에 대한 MSRP 가격이 이제 선택한 통화로 올바르게 변환됩니다. 이전에는 응용 프로그램에서 가격이 잘못된 통화로 표시되었으며 이 오류가 발생했습니다. Call to a member function setAppliedTaxes() on null. GitHub-26526, GitHub-29603
  • 판매자는 이제 값이 0(영)인 저장소별 텍스트 견본 속성 옵션 레이블을 저장할 수 있습니다. 이전에는 값 0이 관리자 레이블 옵션 값으로 대체되었습니다. GitHub-30073
  • AdvancedPricing 클래스의 구문에서 사용되지 않는 매개 변수가 제거되었습니다. GitHub-29531

cron

  • 이제 cron이(가) 실행되고 응용 프로그램이 예정대로 제품을 업데이트한 후 시스템 메시지 목록에 제품 업데이트가 정확하게 반영됩니다.
  • schedule_idstatus을(를) 기반으로 하는 인덱스가 cron_schedule 테이블에 추가되었습니다. GitHub-29601

사용자 지정 고객 속성

  • 이제 응용 프로그램에서 만든 후 계정 정보 페이지에 file 유형의 고객 특성을 표시합니다. 이전에는 이 형식의 새 특성을 저장하려고 할 때 응용 프로그램에 The "newAttribute" attribute value is empty. Set the attribute and try againValidation is failed 오류가 표시되었습니다.
  • 이제 애플리케이션에서 다중 라인 사용자 정의 고객 속성 값을 올바르게 표시합니다. 이전에는 일부 데이터가 표시되지 않았습니다.
  • 이제 이 애플리케이션은 계정 생성 중에 잘못된 생년월일을 입력하면 구매자에게 알립니다. 이전에는 유효성 검사기가 로케일 설정을 무시했으며, 쇼핑객이 잘못된 날짜 오류가 있는 새 고객 계정 만들기 페이지로 리디렉션되었습니다.
  • 이제 사용자 지정 주소 속성이 체크아웃 워크플로의 결제 단계에서 예상대로 포함됩니다.
  • 이제 사용자 지정 주소 다중 선택 속성이 게스트 체크아웃 중과 관리 및 내 계정 주문 세부 사항 페이지에 올바르게 표시됩니다.
  • 이제 사용자 지정 주소 속성이 내 계정 영역 및 관리 순서 세부 사항 페이지에 올바르게 표시됩니다.
  • 이제 Input Type이(가) Text(으)로 설정되고 Input Validation이(가) Numeric Only(으)로 설정된 경우 사용자 지정 고객 특성에서 선행 0을 삭제할 수 있습니다.
  • 이제 애플리케이션에서 사용자 지정 성별 속성 값을 포함하는 고객 데이터를 성공적으로 내보냅니다.
  • 이제 애플리케이션은 예상대로 B2B 사용자에 대한 사용자 정의 고객 속성 값을 저장합니다. 이전에는 회사 사용자를 추가하거나 편집하기 위해 만든 사용자 지정 고객 속성이 새 사용자 추가 양식과 함께 바인딩되지 않았으므로 속성 값이 저장되지 않았습니다. 또한 사용자 지정 날짜 특성은 데이터베이스에서 문자열로 파생되었으며 상점 표시에 적절한 날짜 형식으로 변환되지 않았습니다.

고객

  • 이제 상점 고객 계정 페이지 생년월일 필드의 달력 위젯에서 지정된 상점 로케일을 사용합니다.
  • 관리자로부터 기존 고객에 대한 재주문을 체크아웃하는 동안 고객 주소의 중복 항목을 더 이상 저장하지 않습니다.
  • 관리자에서 여러 고객의 모든 주소를 삭제하면 이제 고객 주소 목록에서 모든 주소가 삭제되고 기본 청구 및 배송 주소가 제거됩니다. 기존에는 애플리케이션에서 고객 주소 목록에서 주소를 삭제했지만 기본 청구 및 배송 주소를 제거하지 않았다.
  • 이제 관리자가 주소 대량 삭제를 수행한 후 관리자 고객 주소 탭에 주소 수가 올바르게 표시됩니다. 이전에는 애플리케이션에서 삭제된 주소를 카운트에 포함했습니다.
  • 고객 등록 페이지의 생일 필드에 대한 DateTime 형식이 수정되었습니다. 이전에는 한 자리 숫자 앞에 오는 선행 0이 누락되었습니다.
  • 이제 쇼핑객이 계정 만들기 단추를 클릭하기 전에 생년월일 필드에 대한 날짜 형식 유효성 검사가 작동합니다. 이전에는 쇼핑객이 잘못된 형식의 값을 입력할 수 있었으며, 계정 만들기 단추를 클릭하면 쇼핑객이 잘못된 날짜 오류가 있는 새 고객 계정 만들기 페이지로 리디렉션되었습니다.
  • 관리자가 속성에 대해 잘못된 데이터가 포함된 새 고객 계정을 저장하려고 할 때 애플리케이션에서 더 이상 치명적인 오류가 발생하지 않습니다.
  • 고객이 이전에 Magento Shipping이 설치되고 기본 Luma 테마가 현재 배포된 배포에서 장바구니에 액세스하려고 할 때 애플리케이션에서 더 이상 400 오류가 발생하지 않습니다. 이전에는, 오류가 발생한 서버에 요청을 보내기 전에 애플리케이션에서 이전에 설치/활성화된 모듈에서 생성된 섹션 이름을 필터링하지 않았습니다.
  • 이제 전자 메일 확인 필요 설정이 사용되고 Magento\Customer\Controller\Account\CreatePost이(가) 재정의된 경우 쇼핑객이 게스트 계정을 만들 때 응용 프로그램에서 예상대로 메시지를 표시합니다. 이전에는 애플리케이션에서 사용자 등록 프로세스의 이러한 유형의 사용자 지정을 허용하지 않았으며, 이러한 조건에서는 사용자의 이메일 확인 상태가 완료된 것으로 간주되고, 새 사용자가 자동으로 로그인되었으며 오류 메시지가 표시되지 않았습니다.
  • 고객 그룹에 자동 할당 사용 ​이 활성화된 스토어에서 구매자가 기본이 아닌 고객 그룹을 주문하면 응용 프로그램에서 이제 올바른 고객 그룹에 구매자를 할당합니다. GitHub-26976
  • 인덱스가 일정별로 업데이트(으)로 설정된 경우 다중 사이트 배포에서 기본값이 아닌 웹 사이트가 삭제되면 이제 예상대로 관리 고객 그리드를 사용할 수 있습니다. 이전에는 응용 프로그램에서 그리드를 표시하지 않았으며 다음 오류가 발생했습니다. [2020-12-09 11:31:54] report.CRITICAL: The website with id 2 that was requested wasn't found. Verify the website and try again. \{"exception":"[object] (Magento\\Framework\\Exception\\NoSuchEntityException(code: 0): The website with id 2 that was requested wasn't found. Verify the website and try again. at /var/www/html/magento24ee/vendor/magento/module-store/Model/WebsiteRepository.php:110)"}

디지털

  • Dotdigital Engagement Cloud에서 프로그램 목록을 검색할 때 오류 처리가 개선되었습니다.

  • 게스트 동기화 중에 스토어 이름 열에 동기화된 값은 이제 예상대로 스토어 보기 이름입니다. 이전에는 웹 사이트 이름이 이 열에 포함되었습니다.

  • 주문이 저장된 후 주문 상태 자동화를 반복하기 전에 배열 검사를 추가했습니다.

  • Dotdigital 모듈이 magento/module-authorization에 종속되어 있는 Composer 업그레이드 관련 문제가 해결되었습니다.

다운로드 가능

  • 다운로드 가능한 제품이 부분적으로 환불된 후 애플리케이션에서 내 다운로드 제품 탭에 더 이상 다운로드 가능한 제품이 나열되지 않습니다. GitHub-28388

동적 블록(이전 배너)

  • 블록과 연결된 고객 세그먼트를 삭제한 후 애플리케이션에서 더 이상 동적 블록을 상점 앞에 표시하지 않습니다.
  • 이제 애플리케이션은 동적 블록의 표시 여부를 결정할 때 카탈로그 가격 규칙을 올바르게 고려합니다.

EAV

  • \Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend을(를) 사용하는 사용자 지정 특성은 이제 API 호출로 제품을 만들 때 페이로드에 값이 제공되지 않으면 기본값을 사용합니다.

이메일

  • setPath()이(가) toOptionArray() 전에 호출되지 않으면 \Magento\Config\Model\Config\Source\Email\Template::toOptionArray에서 더 이상 오류가 발생하지 않습니다. GitHub-29315
  • 전자 메일 서식 파일을 로드할 때 Return Html Version ​을(를) 클릭하면 응용 프로그램에서 일반 텍스트를 HTML으로 올바르게 변환합니다.
  • 부분 송장이 포함된 고객에게 전송되는 이메일에는 이제 정확한 항목 소계가 포함됩니다. 이전에는 이 이메일의 소계가 송장 발행 수량의 총액이 아니라 주문 수량의 합계였습니다.
  • 이제 애플리케이션은 유효한 이메일 주소가 있는 모든 관련 고객에게 이메일 미리 알림을 보냅니다. 이전에는, 잘못된 주소가 하나 발견된 후 애플리케이션이 고객에게 미리 알림 이메일을 보내는 것을 중지했습니다.
  • 이제 카탈로그에서 제품이 제거된 후 비동기 모드로 판매 이메일을 보내는 것이 예상대로 작동합니다. 이전에는 비동기 전자 메일 전송이 차단되었으며 응용 프로그램에서 다음 오류가 표시되었습니다. main.ERROR: Cron Job sales_send_order_invoice_emails has an error: Call to a member function getData() on null. Statistics: {"sum":0,"count":1,"realmem":0,"emalloc":0,"realmem_start":73400320,"emalloc_start":37177640} [] []main.CRITICAL: Error when running a cron job {"exception":"[object] (RuntimeException(code: 0): Error when running a cron job at /var/www/html/vendor/magento/module-cron/Observer/ProcessCronQueueObserver.php:327, Error(code: 0): Call to a member function getData() on null at /var/www/html/vendor/magento/module-catalog/Helper/Image.php:502)"} []. GitHub-26878
  • sales_email/order_comment/enabled이(가) 비활성화되고 sales_email/order_comment/copy_method이(가) bcc(으)로 설정된 경우 응용 프로그램에서 더 이상 주문 확인 전자 메일을 복사하지 않습니다. GitHub-29915

프레임워크

  • 이제 맞춤화된 필터 그룹이 고객을 검색할 때 올바르게 적용됩니다. 이전에는 afterSearch 함수가 예상대로 OR 필터를 사용하지 않았습니다. GitHub-24576
  • 이제 스토어의 홈 페이지에 있는 이미지가 성공적으로 렌더링됩니다. 이전에는 이미지의 base64 코드에서 세 개의 연속 슬래시가 주석으로 잘못 해석되어 페이지 소스 HTML이 손상되었습니다.
  • 이제 아랍어 로케일(ar_SA - Saudi Arabia)을 사용하여 저장소의 관리 주문 목록에서 주문을 필터링할 때 DatePicker가 올바르게 작동합니다.
  • 이제 판매자가 배포에 장바구니 가격 규칙을 저장한 후 DatePicker에 올바른 날짜가 표시됩니다. GitHub-30382
  • 이제 응용 프로그램이 아랍어 천 단위 그룹화와 아랍어 십진수 구분 기호 기호를 올바르게 나타냅니다. 이전에는 아랍어 기호를 트리밍했습니다. GitHub-26676
  • 이제 응용 프로그램에서 데이터베이스 session 테이블에서 예상대로 만료된 데이터베이스 세션을 삭제합니다.

일반 수정 사항

  • 이제 php.ini에 정의된 처리기와 다른 네이티브 세션 처리기를 구성할 수 있습니다. 이전에는 SessionManager이(가) memcache를 save_handler(으)로 설정하지 않았지만 대신 파일의 session_handler을(를) 사용했습니다. 응용 프로그램에서 다음 오류가 발생했습니다. main.CRITICAL: Warning: SessionHandler::read(): open(127.0.0.1:11211/sess_0imeeaqmnvemdg4e3h57tat0ik, O_RDWR) failed: No such file or directory (2) in../vendor/magento/framework/Session/SaveHandler/Native.php on line 22 {"exception":"[object] (Exception(code: 0): Warning: SessionHandler::read(): open(127.0.0.1:11211/sess_0imeeaqmnvemdg4e3h57tat0ik, O_RDWR) failed: No such file or directory (2) in ../vendor/magento/framework/Session/SaveHandler/Native.php on line 22 at ../vendor/magento/framework/App/ErrorHandler.php:61)"}. GitHub-24717
  • LoginAsCustomer 모듈이 다음과 같이 개선되었습니다.

    • around 플러그인을 after(으)로 대체했습니다.

    • 중복 코드 제거됨

    • (bool)->getValue()을(를) isSetFlag(으)로 바꾸었습니다. GitHub-29689

  • 와일드카드(*)로 모든 고객 데이터 섹션을 다시 로드해도 더 이상 customer/section/load에 대한 요청에서 400 오류가 발생하지 않습니다. GitHub-28154
  • 이제 응용 프로그램에서 레이아웃이 프로덕션 모드에서 렌더링될 때 발생하는 예외를 var/report(으)로 전달합니다. GitHub-29606
  • 스토어 보기를 변경할 때 애플리케이션에서 더 이상 고객을 홈페이지로 리디렉션하지 않습니다. 이제 \Magento\VersionsCmsUrlRewrite\Model\StoreSwitcher::switch() 메서드는 두 번째 스토어 보기에 대해 $urlPath을(를) 찾을 수 없는 경우에만 쇼핑객을 홈 페이지로 리디렉션합니다.
  • 이제 존재하지 않는 고객이 암호 재설정을 요청할 때 애플리케이션에서 예외가 발생합니다. GitHub-26288
  • 이제 관리자가 이 속성 값이 포함된 파일을 업로드하는 동안 고객 속성에 대해 잘못된 값이 포함된 고객 계정을 저장하려고 하면 애플리케이션에 정보 오류 메시지가 표시됩니다. 이전에는 애플리케이션에서 치명적인 오류가 발생했습니다. GitHub-30295
  • 이제 예상대로 응용 프로그램에서 HTML 인쇄 보기용 로고 구성 설정을 상점 송장 PDF에 적용합니다. GitHub-24730
  • 전용 상수에 액세스하기 위해 코드 베이스 전체에서 static::이(가) self::(으)로 대체되었습니다. GitHub-30781
  • 이제 제품을 만드는 동안 판매자가 새 특성 만들기 단추를 두 번 클릭하면 응용 프로그램에서 예상대로 새 특성 페이지를 엽니다. 이전에는 응용 프로그램에 빈 페이지가 표시되고 오류가 발생했습니다. GitHub-30361
  • 쿠폰을 제거한 후 응용 프로그램에 The coupon code has been accepted 메시지가 더 이상 표시되지 않습니다. GitHub-30255
  • 이제 관리자는 특정 카테고리에 위젯을 할당할 수 있습니다. GitHub-30009
  • 특성 선택기 input[type=datetime]이(가) 덜 구체적인 입력 유형 선택기로 대체되었습니다. GitHub-30064
  • 이제 애플리케이션에서 예상대로 사용자 지정 범주 속성과 연결된 저장소별 값을 표시합니다. GitHub-13440
  • 이제 스토어 주소와 배송 대상이 다른 EU 국가에 속해 있는 경우 주문 생성 페이지에서 VAT 번호 유효성 검사 단추를 클릭하면 고객 그룹을 변경할지 여부를 묻는 메시지가 표시됩니다. GitHub-29652
  • \Magento\Catalog\Model\ImageUploader 클래스는 새 moveFileFromTmp 메서드를 사용하도록 리팩터링되었습니다. GitHub-29598
  • 이제 판매자가 설명적인 product_typetype_id 코드를 사용하여 제품 특성을 만들려고 할 때 응용 프로그램에서 더 자세한 오류 메시지를 표시합니다. GitHub-28479
  • 관리 스토어 > 구성 > 서비스 > OAuth 페이지의 고객 토큰 수명(시간)관리 토큰 수명(시간) 필드에 대한 유효성 검사 논리를 수정했습니다. GitHub-29502
  • 이제 응용 프로그램에서 위젯 콘텐츠 필드의 }}이(가) 포함된 텍스트를 올바르게 구문 분석합니다. GitHub-12087
  • 이제 제품 범주 페이지에서 필터를 제거할 수 있습니다. 이전에는 필터를 삭제하려고 할 때 응용 프로그램에서 필터를 제거하지 않고 다음 오류가 표시되었습니다. Something went wrong. GitHub-8538
  • 선택적 모듈 Magento_MessageQueue을(를) 사용하지 않도록 설정할 때 Magento\Framework\MessageQueue\ConfigInterface을(를) 인스턴스화할 수 있습니다. 이전에는 응용 프로그램에서 다음 오류가 발생했습니다. PHP Fatal error: Uncaught Error: Cannot instantiate interface Magento\Framework\MessageQueue\ConfigInterface in /var/www/magento2/magento2/lib/internal/Magento/Framework/ObjectManager/Factory/AbstractFactory.php:121. GitHub-26080
  • 애플리케이션이 영구 저장소에서 이메일 값을 검색할 수 있는 시기를 결정하는 논리가 개선되었습니다. 이전에는 등록되지 않은 사용자가 이메일 필드를 처음 완료한 후 체크아웃 페이지로 돌아오면 체크아웃 페이지에 채워진 암호 필드가 표시되었습니다. GitHub-26903
  • 누락된 aclResource 특성이 관리 헤더 AdminNotification 도구 모음 블록에 추가되었습니다. 이전에는 관리자 사용자에게 이를 볼 수 있는 역할 리소스 권한이 없는 경우에도 관리자 알림 도구 모음 항목이 표시되었습니다. GitHub-29067
  • 이제 framework/database/select where 함수가 type을(를) 올바르게 처리합니다. GitHub-29590
  • 코드베이스 전체에서 루프에서 array_merge을(를) 비효율적으로 사용하는 기능이 개선되어 정적 콘텐츠 배포 프로세스를 비롯한 여러 위치에서 성능이 향상되었습니다. GitHub-30183
  • 기본 관리 세션 수명이 암호화 모듈에서 보안 모듈로 이동되었습니다. GitHub-30859
  • 이제 응용 프로그램에서 클래스의 전용 상수를 확인하고 static:: 호출이 있는 경우 경고를 표시합니다. 이전에는 응용 프로그램에서 다음 오류가 발생했습니다. Undefined class constant.
  • JSON 및 YAML 파일 들여쓰기를 지원하는 규칙을 두 개의 공백으로 editorconfig에 추가했습니다. GitHub-30066, GitHub-30063
  • FlushCacheByTags 클래스가 주변 플러그 인 대신 후 플러그 인을 사용하도록 업데이트되었습니다. GitHub-29558
  • 0 요소를 포함하지 않는 해시 배열에서 MessageValidator이(가) 더 이상 실패하지 않습니다. GitHub-30563
  • messages, authentication, progressBar, estimationsidebar checkout 구성 요소에서 sortOrder을(를) 제거하여 checkout_index_index.xml 파일의 코드가 향상되었습니다. GitHub-30550
  • 이제 calc의 콘텐츠가 이스케이프되어 CSS 출력 파일에 올바른 calc 값이 생성됩니다. 이전에는 응용 프로그램에서 잘못된 calc 값을 반환했습니다. GitHub-30542
  • 이제 전역 범위에 대한 범주 URL 재작성을 저장할 때 URL 재작성 생성기가 범주 개체 url_key, url_pathstore_id을(를) 기본 저장소 값으로 설정합니다. 이전에는 마지막으로 처리된 저장소 ID 값으로 url_key, url_pathstore_id을(를) 저장했습니다. GitHub-29585
  • 이제 \Magento\Widget\Controller\Adminhtml\Widget\Instance\Validate이(가) 위젯 유효성 검사 중에 구문 결과 값을 오류 메시지로 인식하고 사용자에게 출력합니다. GitHub-27397
  • Magento\Catalog\Model\Category\DataProvider::getFieldsMap()의 하드 코딩된 범주 특성 목록이 캐시에서 생성된 특성 목록으로 대체되었습니다. GitHub-13440
  • req.http.host/client.ip의 중복 해싱이 제거되었으며 해싱은 Varnish 기본 제공 VCL에 의해 처리됩니다. GitHub-29988
  • Magento_Ui 파일 업로더에 오류 콜백을 추가했습니다. GitHub-29557
  • Magento_LoginAsCustomerAssistance이(가) 활성화되었지만 Magento_LoginAsCustomerAdminUi 또는 Magento_LoginAsCustomerLog이(가) 비활성화되었을 때 발생한 acl.xml 불일치가 수정되었습니다. 이전에는 이러한 자격 증명을 가진 관리자가 관리자에 로그인하려고 하면 빈 페이지가 표시되고 Exception #0 (LogicException): Could not create an acl object: Invalid Document Element 'resource': The attribute 'title' is required but missing. Line: 13일 때 이 오류가 발생했습니다. GitHub-30680
  • 플러그 인을 만드는 동안 Interceptor이(가) 생성되면 응용 프로그램에서 더 이상 Undefined class constant 오류가 발생하지 않습니다. GitHub-28981, GitHub-29879
  • 이제 애플리케이션에서 비동기 대량 작업에 대한 메시징 및 로깅을 올바르게 처리합니다. 이전에는 제품이 업데이트되었지만 magento_operationqueue_message_status 테이블이 올바르게 업데이트되지 않았고 시스템 메시지가 올바르지 않았습니다. GitHub-29718
  • 이제 스토어에 대해 전자 메일 확인 필요 ​를 사용하도록 설정한 경우 암호 재설정 이메일에서 새 암호 설정 ​을 클릭하면 쇼핑객이 예상대로 새 암호 설정 페이지로 리디렉션됩니다. 이전에 구매자는 로그인 페이지의 암호를 잊으셨습니까? 단추로 다시 리디렉션되었습니다. GitHub-27954
  • 기본값으로 행 시스템 구성을 저장할 때 배열을 문자열 변환 오류로 수정했습니다. GitHub-30314
  • 이제 메시지 대기열의 인수를 설정할 수 있습니다. GitHub-30216
  • 이제 기본 파일 수집기는 AppState->emulateAreaCode()을(를) 따릅니다. GitHub-39656
  • BlockByIdentifier 클래스는 CMS 블록 식별자를 기반으로 레이아웃 블록 검색을 지원합니다. 결과적으로 CMS 블록이 캐시에서 제거되면 응용 프로그램은 레이아웃 블록 캐시도 지웁니다. GitHub-28309
  • 큐의 숫자 인수 변환 문제를 수정했습니다. 이전에는 queue_topology.xml에서 숫자 type 인수로 큐를 선언하면 인수 값이 문자열로 캐스팅되었습니다. GitHub-29615

기프트 카드

  • 주문 항목 주문 시 기프트 카드 계정 만들기 구성 설정이 활성화된 경우에만 기프트 카드 코드가 포함된 이메일을 보냅니다. 기존에는 상품 주문 시 기프트카드 계좌가 생성됐다면 기프트카드 코드를 재사용해 다른 고객에게 보냈지만, 가상 기프트카드를 발송한 뒤에는 예외가 발생했다.
  • 이 애플리케이션은 더 이상 기프트 카드 주문을 복제하지 않습니다. 기존에는 쇼핑객이 기프트 카드 1장을 주문하면 애플리케이션에서 기프트 코드 2개를 전달했다. 이 문제는 cron 작업이 \Magento\GiftCard\Observer\GenerateGiftCardAccountsInvoice::execute()을(를) 호출했기 때문에 발생했으며 이 메서드는 송장 생성 중 기프트 카드 코드가 이미 생성되었는지 여부를 확인하지 않았습니다.
  • 상인은 이제 예상대로 카테고리에서 제품 할당을 취소할 수 있습니다. 이전에는 응용 프로그램에서 다음 오류와 유사한 오류가 발생했습니다. Could not save product "4" with position 0 to category 3.
  • 오류 페이지 및 유지 관리 모드에서 연결된 root에 대한 지원을 추가했습니다. 이전에는 root 또는 magento/pub이(가) 다른 디렉터리에 심볼릭 링크되어 있으면 오류 프로세서(Magento\Framework\Error\Processor)에서 올바른 보기 파일 URL을 생성하지 않았습니다. GitHub-30296
  • 누락된 order_data 배열을 EmailSender 클래스에 추가했습니다. 이렇게 하면 이러한 클래스가 이메일 템플릿 내의 오브젝트 대신 스칼라 변수를 사용하려는 Magento의 권장 사항에 맞게 조정됩니다. GitHub-29604

Google 태그 관리자

  • Google 태그 관리자 productClick 함수가 이제 예상대로 작동합니다. 이전에는 productClick이(가) 목록 페이지의 제품에서 트리거되지 않았으며 Google Tag Manager가 해당 이벤트를 캡처할 수 없었습니다.
  • Google Tag Manager 구성 가능한 제품 옵션은 장바구니에서 구성 가능한 제품 옵션을 편집한 후 데이터 레이어에서 예상대로 업데이트됩니다. 이전에는 제품 옵션이 변경될 때 removeFromCart 이벤트에 대한 데이터가 잘못 다시 작성되었으며 수량은 그대로 유지되었습니다.

GraphQL

  • 이제 urlResolver 쿼리가 쿼리 매개 변수를 올바르게 처리합니다.
  • 사용자 지정 CMS 노드 및 페이지가 입력으로 지정된 경우 urlResolver 쿼리가 더 이상 NULL을 반환하지 않습니다. GitHub-30474
  • category 쿼리가 더 이상 사용하지 않도록 설정된 부모 범주의 자식 범주를 반환하지 않습니다. GitHub-30468
  • 이제 URL 다시 쓰기가 비활성화되면 category 쿼리가 범주 이미지의 올바른 경로를 반환합니다.
  • 이제 오류가 발생할 때 resetPassword 돌연변이가 더 자세한 메시지를 반환합니다. GitHub-30179
  • 제품 위치가 변경되면 products 쿼리의 캐시된 결과가 예상대로 무효화됩니다. GitHub-30467
  • in 키워드로 category_id 필터를 지정하면 products 쿼리가 예상 결과를 반환합니다. GitHub-30349
  • categoriescategoryList 쿼리는 이제 범주 권한 구성 및 상위 범주 ID에 따라 범주 가용성을 고려합니다. GitHub-29880, GitHub-30624
  • updateProductsInWishList 돌연변이가 이제 위시리스트 항목의 유효성을 올바르게 확인합니다. GitHub-30467
  • ProductInterfaceCategoryInterface에서 여러 특성을 더 이상 사용하지 않도록 설정하여 상점 전면에서 해당 특성을 사용하지 않도록 합니다. GitHub-30625

  • 이제 카테고리 권한이 숨겨지도록 설정되어 있으면 제품 쿼리 결과에서 가격이 숨겨집니다. GitHub-29926

  • 이제 addProductsToWishList 돌연변이를 사용하여 사용자 정의 수량이 있는 번들 제품을 위시리스트에 추가할 수 있습니다.
  • 이제 장바구니에 제품을 추가하는 돌연변이에 카탈로그 권한이 적용됩니다. GitHub-30179
  • 장바구니에 추가 작업에 대한 GraphQL 응답 시간이 개선되었습니다.
  • products 쿼리가 이제 계층 가격 값을 예상대로 반환합니다. GitHub-29168
  • lib/internal/Magento/Framework/GraphQl/Query/EnumLookup.php의 루프에서 중복 getMappedNums을(를) 제거했습니다. GitHub-30031
  • 쿼리된 제품에 비활성화된 관련 제품이 있는 경우 products 쿼리가 더 이상 오류를 반환하지 않습니다. GitHub-28892
  • 이제 cart 쿼리가 올바른 통화(기본 표시 통화)로 변환된 가격을 반환합니다. 이전에는 쿼리가 기본 통화로 품목 가격 값을 반환했으며 통화 코드가 기본 표시 통화로 반환되었습니다.
  • 이제 GraphQL에 카탈로그 권한이 부여됩니다. 응용 프로그램에서 구매자의 고객 그룹에 따라 products 쿼리에 대해 반환되는 항목을 제한합니다.
  • CartItemInterface을(를) 구현하는 여러 데이터 형식에 customizable_option 특성을 추가했습니다.
  • 저장소, 저장소 그룹 및 웹 사이트 정보를 반환하기 위해 storeConfig 쿼리에 대한 특성을 추가했습니다.
  • SelectedCustomizableOption.type 특성을 복원했습니다. 또한 CartItemInterface의 다양한 구현 내의 customizable_options 특성은 이제 null이 아닙니다.
  • products 쿼리의 검색 기능이 더 이상 범주 권한이 활성화된 항목을 반환하지 않습니다.
  • products 쿼리는 여러 통화가 포함된 저장소 보기에 대해 올바른 통화를 반환합니다.
  • products 쿼리 필터의 레이블은 이제 기본이 아닌 저장소 보기에 적용할 수 있는 경우 변환된 값을 반환합니다.
  • 장바구니에 있는 기프트 카드의 스토어 통화 금액을 수정했습니다.
  • 제품에 대해 선택 가능한 구성 가능한 옵션에 해당하는 메타데이터가 포함된 ConfigurableProductOptionsSelection 데이터 형식을 추가했습니다. 쇼핑객이 구성 가능한 제품 옵션을 선택할 때 표시되는 미디어 갤러리 항목 수를 최소화하려면 products 쿼리에서 이 개체를 사용하십시오.

그룹화된 제품

  • 이제 제품 쿼리가 그룹화된 제품에 대한 모든 예상 데이터를 반환합니다. 이전에는 product_links이(가) 빈 배열이었습니다.
  • 이제 모든 하위 단순 제품이 품절되었을 때 그룹화된 제품이 제품 편집 페이지에 품절 제품으로 나열됩니다.
  • 이제 그룹화된 제품의 상태가 하위 단순 제품의 상태가 품절로 변경되면 제품 편집 페이지에서 상태가 올바르게 업데이트됩니다. 이전에는 하위 항목이 재고 상태를 변경한 후 그룹화된 제품의 상위 항목에 대한 재고 항목이 업데이트되지 않았습니다.

이미지

  • 이제 스토어의 홈 페이지에 있는 이미지가 성공적으로 렌더링됩니다. 이전에는 이미지의 base64 코드에서 세 개의 연속 슬래시가 주석으로 잘못 해석되어 페이지 소스 HTML이 손상되었습니다.
  • fileinfo 확장에 대한 종속성이 CMS 모듈에서 제거되었습니다. 이전에는 컨텐츠를 추가할 때 이미지 삽입 단추를 클릭하면 실행되는 이미지 업로더를 사용하여 이미지를 업로드하려고 하면 애플리케이션에서 오류가 발생했습니다. GitHub-24332, GitHub-16531, GitHub-29852
  • exif_image.png 또는 exif-image.jpeg 메타데이터 읽기에 대한 지원을 추가했습니다. GitHub-1449
  • 이제 예상대로 업로드 후 카탈로그 이벤트 캐러셀 위젯에 이미지가 표시됩니다. 이전에는 catalog_event_status_checker cron 작업에서 업로드된 이미지를 삭제했습니다.
  • 이제 CMYK 이미지 색상이 올바르게 렌더링됩니다. 이제 Image 어댑터가 열린 이미지에 CMYK 색상 공간이 있음을 감지하면 색상 공간이 SRGB로 변환됩니다. 이전에는 이러한 이미지가 반전 색상으로 렌더링되었습니다. GitHub-22375
  • image_with_border.phtml에 대해 더 이상 부울 값이 설정되지 않습니다. 중복 max-widthheight 설정이 .product-image-photo에서 제거되었습니다. (이러한 값은 이미 재설정 스타일을 통해 이미지에 전체적으로 설정되어 있습니다.) GitHub-30186

가져오기/내보내기

  • 특정 필드 값이 삭제된 CSV 파일(entity type = "customer address"import behavior = "add/update")을 사용하여 고객 주소를 가져올 때 고객 주소 region_id에 더 이상 NULL 값이 할당되지 않습니다.
  • 이제 가져오는 동안 상점 전면에서 제품 이미지를 숨길 수 있습니다.
  • 이제 CSV 파일에 잘못된 항목도 포함되어 있는 경우 예약된 제품 가져오기 프로세스에서 올바른 데이터 필드가 있는 제품이 업데이트됩니다. 이전에는 오류: 처리 계속 ​을 사용할 때 CSV 파일에 잘못된 항목이 포함된 경우 항목이 업데이트되지 않았습니다.
  • 가져온 제품의 CSV 파일에 qty이(가) 0으로 설정되어 있지만 is_in_stock set이(가) 1로 설정되어 있으면 해당 제품이 범주 페이지에 나열되지 않으며 제품 세부 정보 페이지에서 해당 제품이 품절로 식별됩니다. 이전에는 가져오기 후 이 값을 갖는 제품이 상점 앞에 표시되었습니다.
  • CSV 가져오기는 더 이상 추가 특성에 대한 dropdowntextarea 값을 무시하지 않습니다. 이전에는 이러한 속성 값을 가져오는 동안 업데이트되지 않았습니다.
  • 제품 내보내기 CSV 파일이 예상대로 내보내기 CSV 파일의 관리 목록에 나타납니다. 이전에는 bin/magento queue:consumers:start exportProcessor --single-thread --max-messages=10000 명령을 실행할 때 응용 프로그램에서 오류가 발생했습니다.
  • 벵골어(벵골어) 알파벳 문자가 포함된 CSV 데이터를 가져올 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다.
  • 이제 Chrome에서 작업할 때 내보낸 후 변경된 파일을 가져오는 동안 관리자가 데이터 확인 ​을 클릭하면 응용 프로그램에서 정보 오류 메시지를 표시합니다. 이전에는 응용 프로그램에 콘솔 오류가 표시되었지만 사용자에게 진행 방법을 알려 주지 않았습니다.
  • 동일한 제품 CSV 데이터를 두 번 이상 가져오면 애플리케이션에서 더 이상 제품 이미지를 복제하지 않습니다. GitHub-21885
  • vendor/magento/framework/File/Uploader.php에서 이미지 파일 이름에 대한 90자 제한이 제거되었습니다. 이전에는 디렉터리 및 파일 이름 길이가 255자를 초과할 수 없었습니다. 응용 프로그램이 파일 이름이 이 제한을 초과하는 이미지를 가진 제품을 가져왔지만 이미지 파일을 가져오지 않았습니다. GitHub-29377
  • 이제 쿠폰 코드를 CSV 또는 XML로 성공적으로 내보낼 수 있습니다. 이전에는 쿠폰을 내보내려고 할 때 CSV 내보내기 또는 XML 내보내기 ​를 클릭했을 때 응용 프로그램에 404 오류가 표시되었습니다. GitHub-29277
  • 이제 이미지가 포함된 CSV 파일을 가져온 후 중복된 제품 이미지가 제거됩니다. GitHub-14398, GitHub-21885

색인

  • 부분 인덱서의 성능을 개선했습니다. 이제 애플리케이션은 1000-ID 배치 반복에 대해 변경된 캐시 ID를 지웁니다. 캐시 컨텍스트는 더 이상 ID를 누적하지 않습니다. 이전에는 캐시 컨텍스트에서 각 1000-ID 배치 반복에 대해 캐시 ID를 누적하고 각 반복에서 동일한 ID 세트를 지웠습니다.
  • 부분 재인덱싱 시스템과 전체 재인덱싱 시스템 간의 불일치가 수정되었습니다. 이제 두 인덱싱 시스템은 동일한 코드를 사용하므로 올바르게 작동합니다. 이전에는 두 색인화 시스템 모두 공유 색인화와 관련하여 서로 다른 논리를 사용했으며, 이로 인해 부분 재색인화 시스템의 모든 실행 후에 색인화가 무효화될 수 있었습니다. GitHub-29478, GitHub-29297
  • 수동 인덱서로 인해 범주 페이지가 비어 있거나 범주 페이지의 제품 수가 감소된 문제가 해결되었습니다. 다음 경우에 불완전한 범주 페이지 또는 제품 수 문제가 발생했습니다.

    • catalogsearch_fulltextcatalog_product_price 부분 인덱서가 실행이 완료될 때까지 큰 카탈로그에서 실행되었습니다.

    • 부분 인덱서가 catalog_category_product 또는 catalog_product_category 인덱스에서 실행되었으며 동시에 해당 인덱스 중 하나에 대해 전체 다시 인덱스가 실행되었습니다. 이 두 색인화 프로세스가 충돌하여 범주 페이지에서 제품이 누락될 수 있습니다.

    • bin/magento indexer:reindex inventory이(가) 큰 카탈로그에서 실행되었습니다. catalogsearch_fulltext 부분 인덱서가 실행을 완료할 때까지 범주 페이지에서 제품이 누락되었습니다.

  • 인덱서가 Magento_Bulk MySQL 테이블에 추가되어 대량 작업의 성능이 향상되었습니다.
  • 이제 데이터베이스 테이블의 주석은 다시 인덱싱한 후 테이블 상태를 정확하게 반영합니다(bin/magento indexer:reindex). 이전에는 다시 색인화한 후 테이블 주석에 새로 설치한 후 주석이 포함된 것과 동일한 값이 포함되었습니다.
  • MariaDB v.10.3.18을 구현하는 배포에서 SELECT entity_id IN 문이 개선되어 카탈로그 범주 인덱싱의 성능이 향상되었습니다. GitHub-25199
  • Adobe Commerce은 인덱서 인스턴스당 여러 번 태그의 플러시를 제거하여 캐시 성능을 개선했습니다. GitHub-29890

인프라

  • 이제 app/etc/env.php을(를) 사용하여 메시지 브로커를 MYSQL에서 AMQP로 변경할 수 있습니다.
  • 제품 수량의 소수점 값에 대한 나머지 계산 문제가 관련 JavaScript 라이브러리에서 수정되었습니다. 이 애플리케이션은 이전에 두 자리 이상의 소수 자릿수를 잘못 계산했으며 결과적으로 잘못된 메시지를 표시했습니다.
  • \Magento\Authorization\Model\Rules::update 메서드가 더 이상 사용되지 않습니다. GitHub-29128
  • UTC에서 날짜 개체를 변환할 때 애플리케이션에서 더 이상 치명적인 오류가 발생하지 않습니다. 이전에는 특정 조건에서 convertConfigTimeToUtc 메서드에서 예외를 throw했습니다. GitHub-29525
  • DataObject이(가) \Magento\MediaGalleryCatalogUi\Ui\Component\Listing\Columns\Thumbnail::prepareDataSource의 제품 모델로 대체되었습니다.GitHub-1711
  • RequireJS 확인자가 더 이상 차단된 리소스를 검색하지 못합니다. 이전에는 확인자가 페이지의 모든 리소스가 로드되었는지 또는 적절하게 처리되었는지 올바르게 감지하지 못했으며, 페이지가 계속 로드되었습니다. GitHub-28116
  • 특성 리포지토리 코드 유효성 검사가 하드 코딩된 값이 아닌 Magento\Eav\Model\Entity\Attribute::ATTRIBUTE_CODE_MAX_LENGTH을(를) 따릅니다. GitHub-29017
  • HTML 축소는 더 이상 PHTML 파일의 HTML 문자열에서 트리플 슬래시(https://experienceleague.adobe.com///?lang=ko)를 제거하지 않습니다. 이전에는 트리플 슬래시를 축소하는 동안 주석으로 해석하고 나머지 줄은 배포 시 생성된 PHTML 파일에서 완전히 제거되었습니다.
  • 이제 판매자는 테이블 수준이 아닌 테이블 열 수준에서 인덱서 구독을 구성할 수 있습니다. 특정 보기 또는 테이블 조합에 대해 열을 무시할 수 있도록 새 인수를 \Magento\Framework\Mview\View\Subscription에 추가했습니다. GitHub-30243
  • 제품 페이지 JavaScript이 완전히 초기화되기 전에 장바구니에 추가 단추를 클릭해도 더 이상 form_key 값이 중복되지 않습니다. 이전에는 예외를 트리거하는 캐시된 form_key 값으로 장바구니에 제품을 추가할 수 있었습니다. JavaScript이 완전히 초기화되기 전에 장바구니에 추가 ​을(를) 클릭했을 때 양식 데이터로 전송된 form_key 값이 사용자 세션과 일치하지 않아 제품이 장바구니에 추가되지 않았습니다. GitHub-13746
  • 이제 현재 cURL 클라이언트는 대소문자를 구분하지 않는 헤더 이름을 따릅니다. 이전에는 Set-Cookie 비교가 대/소문자를 구분했으며, 이로 인해 일부 HTTP 서버에 문제가 발생할 수 있습니다. GitHub-29524
  • api-functional 및 테스트 사례 XML 파일의 XSD URN 형식을 업데이트했습니다. GitHub-30552
  • \Magento\Catalog\Model\ResourceModel\Product\Option\Value\Collection의 컬렉션 로드 사용자 지정을 개선하기 위해 카탈로그 제품 옵션 값 컬렉션에 이벤트 접두사 및 이벤트 개체가 추가되었습니다. GitHub-29621
  • 코딩 표준에 권장되는 형식을 사용하도록 array_merge이(가) 모두 리팩터링되었습니다. GitHub-30005
  • \Magento\Framework\View\Element\Text\ListText 유형의 head.additional 블록이 adminhtml default 레이아웃에 추가되었습니다(magento2/module-base). GitHub-29165
  • 레이아웃 템플릿 모듈 위젯에 누락된 이스케이프 URL 메서드가 추가되었습니다. GitHub-30036
  • \Magento\Framework\Filesystem\Io\File::read() 메서드가 이제 \Magento\Framework\Filesystem\Io\IoInterface::read()과(와) 호환됩니다. GitHub-27866

클라르나

  • PayPal 모듈에 대한 종속성을 제거했습니다. GitHub-29421

로깅

  • Magento_Logging 모듈이 이제 새 값과 그 앞에 있는 값을 올바르게 등록했습니다. 이전에는 변경 전 값 열에 있는 값이 첫 번째 변경인지 다음 변경인지 또는 기본값이 반환된 시기에 관계없이 해당 사항 없음 값을 표시했습니다. GitHub-26943

미디어 갤러리

  • 관리 스토어 > 구성 > 고급 > 시스템 페이지가 올바른 제품 이름을 표시하도록 업데이트되었습니다(미디어 갤러리). 사용자 인터페이스에 대한 일부 재디자인이 포함되었습니다. GitHub-1738
  • 미디어 갤러리 이미지 설명의 사용 위치 섹션에 있는 링크에는 이제 선택한 이미지에 의해 예상대로 필터링된 격자가 표시됩니다. 이전에는 표시된 격자의 제목이 올바르지 않고 목록 항목이 정확하지 않았습니다. GitHub-1694
  • 이제 미디어 갤러리에서 여러 이미지를 성공적으로 편집할 수 있습니다. 이전에는 하나의 이미지에 태그를 추가한 후 두 번째 이미지에 태그를 추가할 수 없었습니다. GitHub-1755
  • 이제 미디어 갤러리의 이미지에서 태그를 제거한 후 태그 드롭다운 메뉴가 예상대로 비어 있습니다. GitHub-1703
  • 이제 미디어 갤러리 동기화 큐 메시지에 대한 일괄 처리가 지원됩니다. GitHub-1724
  • 향상된 미디어 갤러리 ​를 사용하지 않도록 설정한 경우 미디어 갤러리를 열려고 하면 응용 프로그램에 예상대로 404 페이지가 표시됩니다. GitHub-1760
  • MediaGalleryMetadata은(는) 예외가 발생하면 세그먼트 판독기를 건너뛰고 대신 이미지 메타데이터를 예상대로 구문 분석하고 표시합니다. 이전에는 exif_read_data 세그먼트 판독기의 예외로 인해 이미지 메타데이터가 비어 있었습니다. GitHub-1782
  • 더 이상 폴더 이름 길이로 인해 이미지가 미디어 갤러리에 업로드되지 않습니다. 이제 Media Gallery에서 경로 열을 text 형식으로 설정합니다. GitHub-1778
  • 이제 미디어 갤러리에서 렌디션을 삽입할 때 이미지 업로더에 올바른 이미지 크기가 표시됩니다. GitHub-1806
  • 경로 확인이 Mediagallery 업로더 플러그인에 추가되었습니다. 이전에는 이전 미디어 갤러리 사용 ​을 사용하지 않도록 설정한 경우 유효성을 검사하지 못했으며 응용 프로그램에서 제품을 가져오지 않았습니다. GitHub-30649
  • 다음 개별 작업에 대해 구성된 권한을 지원하기 위해 새 미디어 갤러리에 ACL 하위 리소스 Magento_Cms::media_gallery개가 추가되고 적용되었습니다.

    • 에셋 업로드
    • 콘텐츠에 자산 삽입
    • 에셋 삭제
    • 폴더 만들기
    • 폴더를 삭제합니다. GitHub-1487
  • 긴 미디어 갤러리 텍스트 문자열 및 폴더 이름은 더 이상 잘리지 않습니다. 이전에는 응용 프로그램에서 잘린 텍스트와 이미지를 표시했고 다음 메시지를 표시했습니다. We couldn't find any records. GitHub-1763, GitHub-1758
  • 새 페이지의 콘텐츠를 편집하는 동안 이미지가 선택되지 않으면 응용 프로그램에서 선택한 항목 추가 단추가 더 이상 표시되지 않습니다. GitHub-1769
  • 이제 필터가 콘텐츠 > 미디어 갤러리 범주 격자에 예상대로 적용됩니다. GitHub-1763
  • 이제 갤러리 다중 중단점 옵션 구성이 예상대로 작동합니다. 이전에는 mediaCheck이(가) 페이지 로드 시 종료 미디어 쿼리 함수를 트리거했기 때문에 중단점 옵션 구성이 제대로 작동하지 않았습니다. GitHub-29933

MTF

  • 반복 작업을 CheckStaticBlocksTest의 작업 그룹으로 대체했습니다. GitHub-30561
  • AdminUpdateCategoryAndMakeInactiveTestVerifyChildCategoriesShouldNotIncludeInMenuTest이(가) MTF 모범 사례를 준수하도록 리팩터링되었습니다. GitHub-30058
  • 중복된 AdminOpenCMSBlocksGridActionGroup을(를) 제거했습니다. GitHub-30896
  • AdminOpentCmsBlockActionGroup을(를) AdminOpenCmsBlockActionGroup으로 대체했습니다. GitHub-29839
  • 사용되지 않는 GoToAttributeGridPageActionGroup. GitHub-30103
  • Analytics 모듈에 작업 그룹이 추가되었습니다. GitHub-29500
  • 테스트 실행 후 생성된 주문을 취소하도록 CheckCheckoutSuccessPageAsRegisterCustomerTestCheckCheckoutSuccessPageAsGuestTest을(를) 업데이트했습니다. GitHub-28324
  • 중복으로 인해 AdminNavigateToPageGridActionGroup이(가) 제거되었습니다. GitHub-29838
  • 테스트를 건너뛰도록 한 StorefrontProductListWidgetWithSharedCatalogTest 문제가 해결되었습니다. GitHub-322
  • 체크아웃 페이지로 이동할 ActionGroup을(를) 구현했습니다. GitHub-29843
  • 새 CMS 페이지를 만들기 위한 탐색을 위해 AdminOpenCreateNewCMSPageActionGroup을(를) 구현했습니다. GitHub-29824
  • Media Gallery용 CMS 페이지에 대한 MFTF 테스트에서 건너뛰기 관련 문제가 수정되었습니다. GitHub-30164
  • Company, CompanyCredit, CompanyPayment, CompanyShippingConfigurableSharedCatalog 모듈에 대한 MTF 테스트에 의미 있는 제목과 설명이 추가되었습니다. GitHub-30164

새 테스트

  • 관리자의 친구에게 전자 메일을 사용하도록 설정하는 테스트를 추가했습니다. GitHub-29145
  • 관리자가 그리드에서 CMS 블록을 삭제하는 테스트를 추가했습니다. GitHub-30372
  • 단일 번들 항목에 장바구니 규칙을 적용하는 테스트를 추가했습니다. GitHub-28921
  • 엔터티가 삭제된 후 미디어 갤러리 이미지에 대한 다음에서 사용됨 정보가 표시되는지 여부를 확인하는 테스트를 추가했습니다. GitHub-1774

새 작업 그룹

뉴스레터

  • 이제 관리자는 고객이 큐에 있는 뉴스레터를 구독할 때 예상대로 고객 계정을 편집할 수 있습니다. GitHub-30645
  • 이제 구매자가 뉴스레터 구독을 확인하지 않는 경우 애플리케이션에서 뉴스레터 구독 확인을 다시 보냅니다. GitHub-28422
  • 이제 고객이 대기 중인 뉴스레터를 구독할 때 예상대로 고객 계정을 편집할 수 있습니다. GitHub-30645

결제 방법

  • 이제 결제 방법이 다중 스토어 배포에서 예상대로 모든 웹 사이트의 관리자에 로드됩니다.
  • 구매 주문이 사용 가능한 유일한 결제 옵션으로 구성된 배포에서 구매자가 정보를 입력하기 전에 쿠폰 코드 필드 위에 Purchase Order number is a required field 메시지가 더 이상 표시되지 않습니다.
  • 이제 구매자 이름에 악센트가 있는 문자가 포함되어 있으면 애플리케이션에서 Payflow Pro 결제를 성공적으로 완료합니다. 이전에는 결제가 완료되지 않았으며 응용 프로그램에서 다음 오류를 기록했습니다. report.CRITICAL: String to be escaped was not valid UTF-8 or could not be converted.
  • 고객 그룹에 자동 할당 ​이 사용되도록 설정되어 있으면 게스트 쇼핑객이 PayPal 주문을 할 수 있습니다. 결제는 PayPal 게이트웨이에서 처리되고, 주문은 Magento에서 생성되며, 쇼핑객은 주문 감사 페이지를 볼 수 있습니다. 이전에는 PayPal 게이트웨이에서 주문이 처리되었지만 Adobe Commerce에서는 주문이 만들어지지 않았습니다. 구매자가 대신 주문 검토 페이지로 이동되었습니다. 이 페이지에서 응용 프로그램에 오류 Failed address validation: %1" error이(가) 표시됩니다. GitHub-25399

PayPal

  • 가맹점은 이제 신용 카드를 사용하는 결제 방법에서 신용 카드가 아닌 결제 방법으로 전환한 후 관리자의 주문을 성공적으로 수행할 수 있습니다. 이전에는 판매자가 주문 제출 단추를 클릭했을 때 로드 프로세스가 시작되었지만 완료되지 않았으며 주문이 실행되지 않았습니다.
  • PayPal Express를 통해 주문할 때 애플리케이션에서 더 이상 중복 주문을 생성하지 않습니다. 이전에는 쇼핑객이 PayPal Express로 주문비를 결제하려고 했지만 PayPal에서 오류를 반환하면 애플리케이션이 여전히 주문을 만들었습니다. 이로 인해 가맹점 사이트에 중복 주문이 발생했습니다. GitHub-13952
  • 이제 예상대로 보고서 > 판매 > PayPal 결제 ​에서 PayPal 결제 보고서를 사용할 수 있습니다. 이전에는 PayPal 결제 보고서 표에 이러한 보고서를 나열하지 않고 We couldn't find any records 메시지를 표시했습니다.
  • 체크아웃하는 동안 PayPal 단추를 클릭해도 더 이상 중복 web-api 호출이 트리거되지 않습니다. 이전에는 두 개의 요청이 트리거되어 제품 요금이 두 배가 되었습니다.

성능

  • Magento_Csp/Model/BlockCache은(는) 메모리 사용량과 불필요하게 큰 캐시된 문자열 생성을 모두 줄이기 위해 리팩터링되었습니다. 이전에는 동적으로 화이트리스트에 추가된 스크립트 및 스타일이 포함된 페이지에 성능 문제가 자주 발생했습니다. GitHub-29964
  • 우리는 소비자를 이용한 10만 개 이상의 제품이 포함된 카탈로그의 수출 예정 성과를 개선했습니다.
  • 비활성화된 제품을 범주에 추가하거나 저장할 때 응용 프로그램이 더 이상 범주 캐시를 플러시하지 않습니다. 이전에는 제품 상태에도 불구하고 관련 범주에 대한 캐시를 플러시하여 서버 성능에 영향을 주었습니다.
  • 장바구니에서 제품 수량을 업데이트하는 페이지 로드 시간이 개선되었습니다. 이전에는 애플리케이션에서 장바구니의 각 제품에 대해 여러 개의 개별 쿼리를 실행했기 때문에 페이지 로드 시간이 늘어났습니다.
  • 인덱서가 Magento_Bulk MySQL 테이블에 추가되어 대량 작업의 성능이 향상되었습니다.
  • 이제 애플리케이션에서 구성 가능한 제품의 하위 ID를 캐시합니다. 이렇게 하면 데이터베이스 요청 수를 줄여 페이지 로드 성능이 향상되었습니다. GitHub-30585
  • 관리 대시보드 로드가 개선되었습니다. 이전에는 페이지 로드가 완료되기 전에 응용 프로그램에서 탭 이름을 목록으로 표시했습니다.
  • 레이아웃 캐시에 대한 만료 제한을 추가하여 Redis 캐시 관리를 개선했습니다. 이전에는 Redis 캐시가 대규모 배포에서 최대 메모리 할당량에 빠르게 도달하여 애플리케이션에서 쓰기 작업에 오류가 발생했습니다.
  • app/code/Magento/Catalog/Model/CategoryLink.php에서 중복 데이터베이스 쿼리를 제거하여 체크아웃 성능이 향상되었습니다. GitHub-29453
  • 성능을 개선하기 위해 Magento\Framework\DB\Adapter\Pdo\Mysql->isTableExists이(가) 리팩터링되었습니다. 테이블이 있는지 확인하기 위해 SHOW TABLE STATUS에 대한 중복 호출이 줄었습니다. GitHub-29662
  • 이제 getPageLayoutsConfig이(가) 캐시에 저장되므로 구성 빌더 성능이 향상되었습니다. GitHub-29546
  • 3,000,000명 이상의 고객을 포함하는 고객 세그먼트에 대한 편집 및 저장 작업 중 Adobe Commerce 성능이 향상되었습니다.

영구적

  • 영구적 장바구니가 활성화되면 구매자는 세션 쿠키가 만료된 후 더 이상 주문을 할 수 없습니다. 대신, 쇼핑객이 로그인할 수 있도록 애플리케이션에 로그인 페이지가 표시됩니다. 이전에는 애플리케이션에서 주문했습니다. PHPSESSID이(가) 만료되었을 때 응용 프로그램에서 영구 고객의 유효성을 제대로 검사하지 못했으며 customerSession이(가) 영구 정보에서 다시 만들어졌습니다.
  • 이제 애플리케이션은 구매자가 영구 장바구니가 활성화된 스토어에 로그인한 후 예상대로 시작 메시지를 표시합니다. 이전에는 응용 프로그램에서 을(를) 표시했습니다.로그인 후 ​개의 메시지가 표시됩니다.
  • 응용 프로그램에 더 이상 이(가) 표시되지 않습니다.지속적인 장바구니가 활성화된 배포에 로그인할 때 고객이 ​내 정보 저장​ 옵션을 선택할 때 텍스트가 표시됩니다.
  • 고객 세션이 만료된 후 애플리케이션에 더 이상 고객 장바구니의 콘텐츠가 표시되지 않습니다. 이전에는 지속적인 장바구니가 활성화된 경우 게스트 고객이 체크아웃하려고 할 때 이 오류가 표시되었습니다. No such entity with cartid = 0.

가격 책정

  • 연속적인 비동기 가격 업데이트는 더 이상 서로 간섭하지 않으며 각 작업에 올바른 상태가 할당됩니다. 이전에는 비동기 가격 업데이트가 실패한 경우 해당 큐 소비자가 다시 시작될 때까지 다음의 모든 비동기 가격 업데이트가 실패했습니다. GitHub-27865

보고서

  • 이제 보고서 > 마케팅 > 장바구니의 제품 ​에 보고서를 생성하는 사용자의 허용된 범위 내의 레코드만 표시됩니다. 이전에는 모든 범위에 대해 모든 데이터를 사용할 수 있었습니다.
  • 이제 애플리케이션에서 장바구니에 제품 통화를 보고서에 표시할 때 보고서를 생성하는 판매자의 역할 범위에 지정된 통화를 사용합니다.
  • 이제 최근에 본 항목 및 최근에 비교한 제품 기능에 다중 스토어 배포에서 예상한 대로 관리자의 여러 스토어 및 웹 사이트에 대한 통계가 표시됩니다. 이전에는 이러한 기능이 모든 스토어나 웹 사이트를 고려하지 않았습니다.
  • 이제 주문 보고서의 가격에는 올바른 통화 기호가 사용됩니다.
  • 이제 사용자가 관리 대시보드 고급 보고서로 이동 단추를 클릭할 때 응용 프로그램에서 토큰이 있는지 확인합니다. 토큰이 있으면 고급 보고 페이지가 표시됩니다. 토큰이 구성되지 않은 경우 애플리케이션이 사용 안내서에 정보 페이지를 표시합니다. GitHub-25411

반품 상품 승인(RMA)

  • 이제 RMA를 분할할 때 선택된 옵션이 분할 라인 품목에 적용됩니다. 이전에는 반환 이유, 항목 조건 및 해결책에 대한 값이 저장되지 않았습니다.
  • 이제 JavaScript 번들링이 활성화되면 RMA에 대한 추적 및 배송 정보를 삭제할 수 있습니다.
  • 특정 웹 사이트 범위의 제품만 액세스할 수 있는 제한된 권한이 있는 관리자는 이제 해당 항목이 더 이상 웹 사이트 범위에 없는 경우에도 항목을 반환에 추가할 수 있습니다.

리뷰

  • 스토어 > 특성 > 등급 ​에 표시되는 등급 수가 이제 다중 사이트 배포의 등급 수와 일치합니다. GitHub-30258
  • 이제 관리자 마케팅 > 모든 리뷰 ​에서 새 리뷰 단추를 클릭하면 새 리뷰 페이지가 예상대로 로드됩니다. 이 페이지에서 제품을 클릭하면 해당 제품에 대해 예상되는 새로운 검토 양식이 열립니다.
  • 관리자 마케팅 > 모든 리뷰 ​의 주문을 편집하려고 할 때 응용 프로그램에서 이 오류가 더 이상 발생하지 않습니다. Uncaught TypeError: Event.observe is not a function. GitHub-30388

보상

  • 이제 부분 주문이 완료될 때 과세 주문에 대한 예상대로 보상 포인트가 계산됩니다.
  • 가맹점은 이제 보상 포인트와 함께 구매한 주문에 대해 부분 환불을 성공적으로 발행하고 이후에 주문 나머지를 환불할 수 있습니다. 기존에는 가맹점이 주문 잔액에 대한 보상 포인트를 환급받을 수 없었다.
  • 쇼핑객이 보상 포인트를 제거한 후 다시 적용하면 이 오류가 더 이상 표시되지 않습니다. You removed the reward points from this order.
  • 이제 고객이 여러 통화를 지원하는 스토어에서 비기본 통화를 사용하여 주문할 때 보상 포인트가 올바르게 계산됩니다.

판매

  • 각 업데이트 후에 sales_shipment_gridorder_created_at 열이 예상대로 업데이트됩니다.
  • 이제 JavaScript 캘린더 사용 ​이 활성화된 스토어에서 사용자 지정 옵션 날짜가 포함된 제품을 다시 정렬할 수 있습니다. 이전에는 다시 주문하려고 할 때 응용 프로그램에서 항목을 장바구니에 추가하지 않고 다음 오류를 표시했습니다. Could not add the product with SKU "simp1" to the shopping cart: Please specify date required option(s).
  • 제로 소계 체크아웃 방식이 활성화된 배포에서 구매자가 총 비용이 $0인 가상 제품으로 구성된 주문을 체크아웃할 때 애플리케이션이 더 이상 즉시 주문을 닫지 않습니다.
  • 애플리케이션이 더 이상 주문 처리 전에 주문을 보관하지 않습니다. 이전에는 관리 주문 그리드에서 다중 선택 작업이 선택되지 않은 주문에 영향을 주었습니다.
  • 이제 사우디아라비아 리얄(SAR)이 기준 통화로 설정되면 대변 메모 그리드에 올바른 통화 기호가 표시됩니다.
  • 이제 애플리케이션은 체크아웃 중에 주문 페이지에 예상대로 배송 주소 정보를 일관되게 표시합니다.
  • 이제 total_qty의 값이 판매 송장의 total_qty_ordered의 값과 일치합니다.
  • 이제 판매 이메일을 비동기적으로 보내면 마지막 업데이트 날짜 이후에 생성된 주문에 대해서만 이메일이 전송됩니다. 이전에는 비동기 전송이 활성화된 경우 애플리케이션에서 날짜별로 이메일을 필터링하지 않았습니다.
  • 이제 애플리케이션은 관리자로부터 주문이 들어오면 예상대로 송장 이메일을 전송합니다.
  • 이제 판매자가 관리자로부터 고객에 대한 신규 주문을 생성할 때 애플리케이션은 세션 중에 기존 주문 데이터를 지웁니다.
  • 이제 고객 그룹에 자동 할당 사용 ​이 활성화된 경우 관리자 주문을 통해 만든 새 고객의 고객 그룹을 변경할 수 있습니다. VAT 검증을 기준으로 고객 그룹을 지정할 수도 있습니다. 이전에는 VAT 번호를 확인할 때 요청 개체에서 할당된 요청 group_id을(를) 확인하지 않았습니다. 기본적으로 group_id 기본값을 사용했습니다.
  • 판매자가 REST API를 사용하여 부분 선적을 만든 후 응용 프로그램이 더 이상 Suspected Fraud 상태의 사용자 지정 주문 상태를 Processing(으)로 변경하지 않습니다.

판매 규칙

  • 배송 방법에 따라 적용되던 쿠폰 코드는 쇼핑객이 배송 방법을 변경할 때 더 이상 적용되지 않습니다. 기존에는 쇼핑객이 배송 방법을 전환할 때 애플리케이션에서 쿠폰 코드를 지우지 않았다.
  • 쇼핑객은 고객당 사용 설정 허용 횟수보다 더 자주 쿠폰 코드를 적용할 수 없습니다. 이전에는 구매자가 여러 개의 브라우저 창을 열고 동시에 여러 주문을 한 경우, 고객당 사용 설정의 값이 1 ​이지만 각 주문에서 할인을 받았습니다.

검색 search-heading

  • 쇼핑객이 검색 동의어를 검색할 때 Elasticsearch에서 더 이상 알 수 없는 수정자 오류가 발생하지 않습니다. 이전에는 이스케이퍼에 정규 표현식에 이스케이프 슬래시 기호가 없었고, 이로 인해 치명적인 오류가 발생했습니다.
  • 표시 유형이 개별적으로 표시되지 않음(으)로 설정된 하위 제품을 구성하면 고급 검색에서 구성 가능한 제품의 하위 항목을 개별 검색 결과로 반환하지 않습니다.
  • 검색 결과에 있는 제품 이름의 Elasticsearch 정렬은 더 이상 대소문자를 구분하지 않습니다.
  • 이제 캐시할 상위 검색 결과 수를 0(으)로 설정 설정이 관리자 스토어 > 구성 > 카탈로그 > 카탈로그 > 카탈로그 검색 ​에서 활성화된 경우 검색 결과 페이지가 예상대로 캐시됩니다.
  • 이제 카탈로그 검색 인덱서가 Elasticsearch 필드 제한으로 인해 오류를 발생시키지 않고 실행됩니다. 이전에는 응용 프로그램에서 다음 오류가 발생했습니다. Limit of total fields [xxx] in index [m24dev_product_1_v10] has been exceeded.
  • 카탈로그 검색 성능이 개선되었습니다. 검색 제안 사용(스토어 > 구성 > 카탈로그 > 카탈로그 검색) 비활성화가 예상대로 작동합니다. 이전에는 응용 프로그램에서 자동 완성 검색 제안을 Elasticsearch 대신 MySQL search_query 테이블에 쿼리했습니다. GitHub-25534
  • 이제 Elasticsearch은 제품 가격을 MySQL과 동일하게 필터링합니다. 정밀도를 높이고 부동 소수점 오류를 수정하기 위해 필드 형식 price_*이(가) Elasticsearch 인덱스에서 float에서 double(으)로 변경되었습니다.
  • 슬래시를 입력할 때 글로벌 검색 양식을 활성화하기 위해 keydown 이벤트 리스너가 Admin에 추가되었습니다. GitHub-29551
  • string 값을 사용하여 integer 또는 decimal 백 엔드 유형이 있는 특성별로 제품을 필터링하면 Elasticsearch에서 더 이상 오류가 발생하지 않지만 대신 예상대로 제품이 표시되지 않습니다. 이전에는 exception.log에 이 오류가 표시되었습니다. number format exception.
  • 검색어에 /이(가) 포함된 경우 Elasticsearch에서 더 이상 예외를 throw하지 않습니다. GitHub-25886, GitHub-25110

  • 일반 범주 권한에서 카탈로그 검색 허용 안 함 구성 설정을 사용하면 제품 쿼리에서 선택한 고객 그룹에 대해 예상대로 검색이 비활성화됩니다. GitHub-29927

  • 검색 결과에 더 이상 동일한 단어의 여러 인용구가 포함되지 않습니다. GitHub-30104

배송

  • 네트워크 중단으로 인해 DHL 배송 방법 연결이 중단되면 체크아웃 프로세스가 더 이상 실패하지 않습니다. 대신 애플리케이션에서 사용 가능한 다른 운송 방법을 표시합니다. 이전에는 DHL 배송에 대한 연결이 중단되어 체크아웃 프로세스가 중단되었으며 응용 프로그램에서 다음 오류가 표시되었습니다. Sorry, no quotes are available for this order at this time. GitHub-29902
  • 관리자 스토어 > 구성 > 판매 > 게재 방법 ​에서 UPS 게재 방법을 설명하는 필드를 이제 예상대로 사용할 수 있습니다.
  • POST /rest/V1/shipment 끝점을 통해 만들어진 배송은 이제 주문을 제대로 업데이트합니다. 이전에는 애플리케이션에서 선적을 생성했지만 선적 상태가 처리 상태로 유지되었습니다.
  • 배송처 복수 주소를 사용하여 체크아웃하기 전에 다른 제품을 장바구니에서 제거할 때 애플리케이션에서 더 이상 간단한 제품을 장바구니에서 제거하지 않습니다. GitHub-30259
  • 이제 주문 검토 페이지에 여러 주소로 배송되는 주문에 대해 예상한 대로 배송 전 세액이 표시됩니다.
  • 이제 UPS 배송 추적은 패키지가 배달된 경우에만 Delivered On 상태를 나타냅니다. GitHub-30032
  • 이제 구매자가 여러 주소를 사용하여 체크아웃한 후 장바구니로 다시 이동할 때 애플리케이션에 가상 제품이 포함된 주문에 대한 올바른 장바구니 소계가 표시됩니다.
  • 이제 판매자는 JavaScript 번들링이 활성화된 경우 FedEx 배송을 사용하는 기존 주문에 대해 배송 페이지에서 배송 레이블을 만들 수 있습니다. 이전에는 판매자가 배송 레이블 만들기 단추를 클릭할 때 애플리케이션에서 오류가 발생했습니다.
  • 고객에게 보낸 배송 확인 이메일의 배송 추적 링크가 이제 예상대로 작동합니다. 이전에는 이 링크가 404 오류를 반환했습니다.
  • 이제 쇼퍼가 여러 주소를 사용하여 체크아웃한 다음 가상 제품 이외의 모든 제품을 제거할 때 애플리케이션에서 유용한 오류 메시지를 표시합니다. GitHub-25595
  • 이제 부분 주문에 대해 예상대로 배송 레이블을 만들 수 있습니다. 이전에는 주문에서 한 항목에 대해서만 배송 레이블을 만들려고 하면 애플리케이션에서 모든 제품을 패키지에 추가하여 유효성을 검사하지 못했습니다. GitHub-29552
  • /V1/guest-carts/:cartId/totals-information을(를) 호출할 때 전달 메서드에 대한 유효성 검사가 더 이상 사용되지 않습니다. GitHub-25147

사이트 맵

  • 이제 cron에서 생성한 사이트 맵에 올바른 이미지 URL이 포함됩니다. 이전에는 다중 스토어 배포에서 생성된 캐시 이미지 경로가 올바르지 않았습니다.

스테이징

  • 이제 홈 페이지 예약 업데이트를 확인할 때 홈 페이지 편집 페이지에 모든 예약 업데이트가 예상대로 표시됩니다. 이전에는 여러 예약된 업데이트 중 하나만 표시되었습니다.
  • 이제 특수 가격 끝점이 /rest/V1/products/special-price-information인 0을 보내면 가격이 저장되고 예상대로 일정이 반환됩니다.
  • 이제 가져오기 CSV 파일에 BOM(바이트 순서 표시)이 포함되어 있는 경우 예약된 가져오기가 예상대로 실행됩니다.
  • 판매자가 범주 업데이트를 예약할 때 애플리케이션에서 더 이상 레이아웃 본문 클래스를 제거하지 않습니다.
  • cron을(를) 실행한 후에는 일정이 조정된 제품 변경 내용이 더 이상 지워지지 않습니다.
  • 범주에 대한 업데이트를 예약하려고 할 때 애플리케이션에서 더 이상 오류가 발생하지 않습니다. 이전에는 새 업데이트 예약 페이지에서 저장 ​을 클릭했을 때 응용 프로그램에서 이 오류가 발생했습니다. Something went wrong while saving the Magento\Catalog\Api\Data\CategoryInterface.
  • 이제 rest/V1/products/special-price API를 사용하여 여러 스토어의 제품 특별 가격을 예약할 수 있습니다. 이전에는 판매자가 새 일정의 시작 시간에 롤백을 사용할 수 있을 때 동일한 fromto 시간에 여러 스토어에 대한 가격 업데이트를 예약하는 경우 애플리케이션에서 오류가 발생했습니다.

저장

  • 관리자 및 기본 스토어 전환기는 이제 관리자의 스토어 정렬 순서에 대한 변경 사항을 반영합니다. GitHub-13401
  • 이제 스토어 보기의 최상위 URL 키가 변경된 후 애플리케이션에서 카테고리 및 제품에 대한 올바른 URL을 만듭니다. 이전에는 저장소 보기의 범주 트리에 수정된 url_keys이(가) 포함되어 있는 경우 범주 키는 변경되지 않지만 범주 상위 키는 변경된 경우 URL을 만들 때 원래 코드에서 범주의 기본 저장소 보기를 사용했습니다. GitHub-28633

Target 규칙

  • 제품 세부 사항 페이지 로드가 최적화되었습니다. 많은 경우에 대해 대상 규칙 조건 쿼리를 최적화하는 데이터베이스 테이블에 대한 인덱스를 추가했습니다.
  • 이제 표시할 제품 기능에 사용되는 is one of 조건에 여러 조건이 포함되어 있으면 관련 제품에 대한 Target 규칙이 작동합니다. 이전에는 이 조건에 여러 값이 포함되어 있으면 구문 분석되지 않았습니다.

세금

  • 게스트 주문에 대한 VAT 검증으로 인해 더 이상 애플리케이션에서 잘못된 고객 세금 분류로 견적을 저장하지 않습니다. GitHub-30018
  • 이제 여러 주소로 배송되는 주문은 FPT가 구성될 때 체크아웃 중에 저장할 수 있습니다. 이전에는 여러 주소에 대한 주문을 완료한 후 애플리케이션이 주문 성공 페이지 대신 빈 페이지를 표시했습니다.
  • 이제 상점 제품 세부 사항 페이지에 예상대로 세금이 있거나 없는 이전 가격과 새 가격이 표시됩니다. GitHub-27500, GitHub-11998

테스트

  • 이제 bin/magento dev:tests:run에서 예상대로 all, unit, integration, integration-all, static, static-all, integrity, legacy 및 default 테스트를 실행합니다.
  • AdminMediaGalleryInsertLargeImageFileSizeTest이(가) 리팩터링되었습니다.
  • 이제 단위 테스트가 PHPUnit 8과 호환됩니다. GitHub-29779
  • 이제 \Magento\TestFramework\TestCase\WebapiAbstract에는 테스트에서 예상되는 결과와 실제 결과의 중첩된 큰 배열을 비교할 수 있도록 지원하는 함수가 있습니다. 결과와 무관한 열쇠는 이제 무시될 수 있다. GitHub-29498
  • AdminMediaGalleryCatalogUiEditCategoryGridPageTest이(가) 더 이상 임의로 실패하지 않습니다. GitHub-1764
  • dev/tests/integration/testsuite/Magento/Customer/Controller/AccountTest이(가) 개선되었습니다. (assert은(는) 이제 assertStringContainsString 대신 XPath 선택기를 기반으로 합니다.) GitHub-29700
  • AdminAnalytics 모듈에 대한 테스트 범위를 추가했습니다. GitHub-29500
  • 통합 및 API 기능 테스트가 이제 PHPUnit 9.3과 호환됩니다. GitHub-30146
  • GraphQL testRequestCacheTagsForCategoryListOnMultipleIds 테스트와 관련된 문제가 해결되었습니다. GitHub-29372
  • 회사 크레딧에 대한 통화 가용성 테스트가 자동화되었습니다.
  • URL이 포함된 헤더 값은 이제 ApiFunctional TestFramework에서 올바르게 구문 분석됩니다. GitHub-26425
  • —no-tablespaces이(가) mysqldump의 모든 항목에 추가되어 PROCESS 권한 없이 통합 테스트를 실행할 수 있습니다(기본적으로 mysqldump을(를) 실행하려면 MySQL 5.7.31/8.0.21 이후 필요). GitHub-30566

테마

  • 테마의 상위 항목을 컴파일하지 못하도록 하는 새 --no-parent 플래그가 bin/magento setup:static-content:deploy 명령에 추가되었습니다. 이 새 플래그를 사용하면 불필요한 컴파일을 방지하여 정적 콘텐츠 배포 프로세스의 성능을 크게 향상시킬 수 있습니다. compact 전략을 사용할 때는 이 새 플래그가 작동하지 않습니다. GitHub-30184
  • 디자인 구성으로 인해 더 이상 DDL 작업이 생성되지 않습니다. 이전에는 디자인 구성이 업데이트되면 응용 프로그램에서 MySQL 오류를 트리거할 수 있는 DDL 문을 생성했습니다.
  • 관리자 테마의 Magento_ConfigurableProduct 모듈에서 중복 코드가 제거되었습니다. GitHub-29857
  • 불필요한 스타일의 탐색 및 빈 테마의 사용되지 않는 속성이 제거되었습니다. GitHub-29914
  • 모바일 보기의 빈 테마에 축소 가능한 탐색 기능이 추가되었습니다. GitHub-30237
  • 테마에 대한 웹 글꼴 로드가 최적화되었습니다. GitHub-29526
  • 이제 개발자는 테마에서 사용자 정의 글꼴을 선언할 때 글꼴 유형을 지정할 수 있습니다. GitHub-29719

번역 및 로케일

  • 이제 관리 주문 표 날짜 선택기는 관리 로케일이 아랍어(ar_SA - Saudi Arabia)일 때 예상대로 작동합니다.
  • 쇼핑객이 새 주소를 등록하거나 추가할 때 유효한 우편 번호로 아르헨티나 주소를 입력하면 애플리케이션에서 더 이상 오류 메시지를 표시하지 않습니다. 이전에는 응용 프로그램에서 다음 오류가 표시되었습니다. Provided Zip/Postal Code seems to be invalid. Example: 1234. If you believe it is the right one you can ignore this notice.
  • 쇼핑객이 한국 주소의 우편 번호 5자리를 입력할 때 애플리케이션에서 오류가 더 이상 발생하지 않습니다.
  • zip_codes.xml이(가) 브라질 우편번호에 8자리 숫자를 적용하도록 업데이트되었습니다. GitHub-29984
  • 현지화되지 않은 나머지 구문의 현지화가 개선되었습니다. GitHub-11175
  • 이제 격자 검색 입력 자리 표시자를 변환할 수 있습니다. GitHub-30510
  • 이제 애플리케이션은 활성화된 경우에만 인라인 번역 JavaScript 모듈을 다운로드합니다. GitHub-29553

UI

  • 쇼핑객이 잘못된 데이터를 입력하면 새 계정 만들기 페이지의 계정 만들기 단추가 활성 상태로 유지됩니다. 이전에는 이 버튼이 비활성화되어 구매자가 오류 발생 후 계정을 다시 만들 수 없었습니다. 이 문제는 2.4.1에서 알려진 문제입니다. GitHub-30513
  • 관리 주문 편집 페이지의 배송 표 로드가 개선되었습니다.
  • 이제 SKU로 장바구니에 제품이 추가되면 응용 프로그램에서 주문 페이지에 예상대로 청구 주소와 동일 확인란이 표시됩니다.
  • 이제 제한된 너비를 정의한 CSS 클래스가 관리자 스토어 > 구성 > 카탈로그 > XML 사이트 맵 > 생성 설정 ​의 시작 시간 필드에 예상대로 적용됩니다. GitHub-29496
  • 약관 확인란 레이블의 표시 문제를 수정했습니다. GitHub-24060
  • 계층 가격을 사용할 수 없을 때 애플리케이션에서 제품 페이지에 계층 가격 블록에 대한 CSS 코드를 더 이상 표시하지 않습니다. GitHub-29194
  • 이미지 보기 세부 사항 페이지의 버튼 위치가 사용자 인터페이스 지침을 따르도록 순서가 변경되었습니다. GitHub-1783
  • 이제 Internet Explorer/EDGE 브라우저에서 쿠폰 코드 텍스트 필드가 적절한 너비로 표시됩니다.
  • 이제 @button__border-radius 변수가 lib/web/css/source/lib/variables/_buttons.less 라이브러리에 정의되어 있습니다. border-radius의 기본값은 3px입니다. 이전에는 border-radius이(가) 하드 코딩되었습니다. GitHub-28674
  • 이제 최소 검색 문자열 길이에 도달할 때까지 미니 검색 필드의 제출 검색 단추(돋보기)가 비활성화됩니다. GitHub-29704
  • 템플릿 미리 보기 단추가 이제 [대기열 편집] 페이지에서 예상대로 작동합니다.
  • 내 계정 > 선물 레지스트리 > 선물 레지스트리 공유 ​에서 메시지 필드의 가운데에서 시작 위치로 커서 위치를 조정했습니다.
  • 예약된 내보내기 추가 페이지의 열 레이아웃 관련 문제가 해결되었습니다.
  • 이제 한 그룹에서 다른 그룹으로 속성을 이동할 때 애플리케이션에서 속성 값을 유지합니다.
  • 이제 응용 프로그램이 상점 첫 페이지 계정 만들기 페이지에서 예상대로 날짜 입력 필드 옆에 달력 아이콘을 표시합니다.
  • lib/web/css/source/lib/variables/_typography.less에 글꼴 두께 제한 변수를 추가했습니다. GitHub-29778
  • 이제 필터 가시성이 관리 그리드의 예상대로 열 가시성과 함께 작동합니다. GitHub-30345
  • 이제 응용 프로그램이 [고객으로 관리 로그인] 페이지에 표시하는 배너가 사용자가 스크롤할 때 페이지 맨 위에 남아 있습니다. GitHub-29354
  • this.disabled(true)이(가) 설정되면 UI 선택 구성 요소 옵션이 더 이상 표시되지 않습니다. GitHub-29098
  • Open Sans 글꼴을 로드할 때 @font-family-name__base 변수가 더 이상 사용되지 않습니다. GitHub-29515
  • WAI-ARIA 특성 aria-atomic="true"이(가) 오류 컨테이너 태그에 추가되었습니다. GitHub-29560
  • 이제 UI 구성 요소 그리드에 선택한 항목의 정확한 수가 표시됩니다. 이전에는 키워드별 검색이 모든 그리드 항목을 선택하고 헤더 확인란을 선택하기 전에 쇼핑객이 일부 항목을 연이어 선택 취소하는 경우 그리드에 잘못된 선택 횟수가 표시되었습니다. GitHub-29968
  • 송장 및 선적 개요 페이지에 더 이상 렌더링되지 않은 HTML이 표시되지 않습니다. GitHub-29958
  • 이제 관리 스토어 > 환율 ​에서 옵션 ​을 클릭하면 사용자가 시스템 구성 페이지의 확장된 통화 옵션 섹션으로 이동합니다. GitHub-29336
  • 선택기 위젯 유형을 사용할 때 adminhtml 위젯에 대한 다른 조건에 따라 위젯을 표시할 수 있도록 지원이 개선되었습니다. GitHub-13316, GitHub-7252, GitHub-6868
  • Luma 테마에서 확인 팝업 대화 상자의 텍스트 패딩이 개선되었습니다. GitHub-30452

자격 증명 모음

  • 이제 Vault 모듈이 결제 정보 관리 서비스에 대한 요청에서 결제 방법 코드를 인식합니다. 이전에는 쇼핑객이 저장된 Braintree 신용 카드를 사용하여 주문할 때 유효한 결제 방법이 사용되어도 애플리케이션에서 이 오류가 발생했습니다. The requested Payment Method is not available.

정점

  • 이제 주소가 수정되면 주소 제안이 예상대로 제거됩니다.

  • 일부 고객이 계정 패널에 주소를 저장할 수 없는 경합 조건이 해결되었습니다.

  • Vertex 주소 유효성 검사가 특정 조건에서 더 이상 주소 편집 페이지를 전체 페이지 캐시에 추가하지 않습니다.

  • 이제 세금 포함 금액에 대해 자유 배송이 구성된 경우 꼭짓점 계산 세금이 고려됩니다.

웹 API 프레임워크

  • 이제 POST V1/invoice/:invoiceId/refund을(를) 사용하여 제품 수량이 0이고 배송 비용이 0인 송장을 환불할 수 있습니다(예: {"items": [{"qty": 0, "orderItemId": 6, "extensionAttributes": {}}], "appendComment": false, "notify": true, "isOnline": true, "arguments": {"adjustment_negative": 0.0, "adjustment_positive": 0.99, "shipping_amount": 0}}. ). 이전에는 애플리케이션에서 오류 You can't create a creditmemo without products이(가) 발생했습니다. GitHub-23069
  • 이제 V1/categories POST을 사용하여 범주를 만들거나 업데이트할 수 있습니다. 이전에는 default_sort_by 값이 배열로 설정된 경우 응용 프로그램에서 값을 저장하지 않았습니다. default_sort_by 값이 문자열로 설정되면 응용 프로그램에서 다음 오류가 발생합니다. Error occurred during \"custom_attributes\" processing. Attribute \"default_sort_by\" has invalid value. The \"string\" value's type is invalid. The \"string[]\" type was expected. Verify and try again.
  • V1/invoices/:id/capture POST을 사용하여 결제 정보를 캡처하면 이제 예상대로 작동합니다. 기존에는 애플리케이션에서 주문을 승인했지만 결제 게이트웨이 사이트에서만 캡처했다.
  • POST V1/order/:orderId/ship을(를) 사용하여 부분 선적을 만들면 끝점이 올바른 선적 제품 수를 반환합니다.
  • POST V1/order/:orderID/invoice을(를) 사용하여 만든 송장이 이제 스토어 크레딧별 부분 지급을 정확하게 반영합니다. 기존에는 점포 신용으로 주문대금을 일부 결제할 경우 점포 신용을 고려하지 않고 인보이스를 생성했다.
  • 이제 GET rest/all/V1/categories 및 GET rest/all/V1/categories?rootCategoryId=2 호출이 트리의 모든 범주에 대해 예상대로 채워진 nameproduct_count 필드를 반환합니다. 이전에는 카테고리 필드 값이 비어 있었습니다. 테이블 이름 확인자 플러그인이 카테고리별 제품 수를 가져오는 데 잘못된 테이블 이름을 반환했습니다.
  • 이제 save_rewrites_history 사용자 지정 특성이 제공될 때 PUT V1/categories/:id 끝점은 범주 URL 키에 대해 301 리디렉션을 만드는 데 필요한 데이터를 저장합니다. GitHub-29174, GitHub-30240

위시리스트

  • 이제 구매자는 제품이 사용자 정의 인벤토리 소스에 할당될 때 제품을 위시리스트에 추가할 수 있습니다. GitHub-3018
  • 이제 관리자는 고객이 상점 첫 화면에서 제품을 위시리스트에 추가한 후 관리 고객 페이지에서 장바구니 관리 페이지에 액세스할 수 있습니다. 이전에는 관리자가 장바구니 관리 단추를 클릭했을 때 응용 프로그램에서 다음 오류가 표시되었습니다. An error has occurred. See error log for details.
  • 공유 위시리스트 페이지의 장바구니에 추가 단추가 이제 로그인하지 않은 익명, 게스트 및 사용자에 대해 예상대로 작동합니다.
  • 이제 구매자가 하나의 위시리스트에서 다른 위시리스트로 제품을 성공적으로 이동할 수 있습니다.
  • 이제 응용 프로그램이 선택한 구성 가능한 제품 속성 옵션을 위시리스트 페이지에 예상대로 표시합니다. GitHub-24091, GitHub-22503
  • \Magento\Wishlist\Controller\Shared\Allcart에 대해 ActionInterface을(를) 구현했습니다. GitHub-29537

알려진 문제

문제: [magento_root]/index.php 파일이 제거되었으며 Apache 구성에 대해 기본적으로 응용 프로그램이 /pub에서 실행됩니다. 하위 폴더에서 제공되는 저장소는 예상대로 작동하지 않으며 404 오류를 표시할 수 있습니다. 해결 방법: symlink를 사용하여 하위 폴더에 설치를 에뮬레이션합니다. 다음 예제에서는 두 개의 저장소(https://shop01.com/shop/https://shop02.com/shop/)를 사용하여 symlink를 사용하여 하위 폴더에 있는 설치를 에뮬레이션하는 방법을 보여 줍니다.

  1. https://shop01.com/shop/의 하위 디렉터리 만들기:

    code language-bash
    mkdir magento_root/pub/shop01
    
    code language-bash
    cd magento_root/pub/shop01
    
  2. 새로 만든 디렉터리에 저장소의 상위 디렉터리에 대한 심볼릭 링크를 만듭니다.

    code language-bash
    ln -s ../media media
    
    code language-bash
    ln -s ../static static
    
    code language-bash
    ln -s ../../../pub pub
    
    code language-bash
    ln -s ../.htaccess .htaccess
    
    code language-bash
    ln -s ../health_check.php health_check.php
    
  3. 새 디렉터리(magento_root/pub/shop01/index.php) 내에 index.php 파일을 만들고 이 내용을 추가합니다.

   <?php
   require realpath(__DIR__) . '/../../../app/bootstrap.php';

   switch ($_SERVER['HTTP_HOST']) {
       case 'shop01.com':
       case 'www.shop01.com':
           $params = $_SERVER;
           $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'shop01';
           $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
           $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
           $app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
           $bootstrap->run($app);
           break;

       default:
           $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
           /** @var \Magento\Framework\App\Http $app */
           $app = $bootstrap->createApplication(\Magento\Framework\App\Http::class);
           $bootstrap->run($app);
       break;
   }
  1. 새 하위 디렉터리를 가리키도록 Apache 서버를 구성합니다. 배포 구성은 크게 다를 수 있습니다. 다음은 서버 구성의 예입니다.
   <VirtualHost *:80>
       DocumentRoot "magento_root/pub/shop1"
       ServerName shop01.com
   </VirtualHost>

문제: 판매자는 모든 저장소 페이지에 대해 전역 HTTP에서 HTTPS로 리디렉션을 사용하도록 설정하려면 관리자의 Fastly Force TLS 기능을 활성화해야 합니다. 클라우드의 모든 페이지에 대해 HTTPS로 HTTP 리디렉션(TLS 적용) 기술 자료 문서를 참조하십시오.

문제: Inventory를 실행하는 다중 스토어 배포에서 기본이 아닌 스토어 보기에서 addConfigurableProductToCart GraphQL 돌연변이를 사용하여 구성 가능한 제품을 장바구니에 추가할 수 없습니다. (Luma 상점 앞면은 영향을 받지 않습니다.) 응용 프로그램에서 다음 오류를 표시합니다. Could not add item to cart. Please check required options and try again. 해결 방법: 대신 addProductsToCart 돌연변이를 사용하십시오. GitHub-31660

문제: 구매자가 결제 페이지의 CAPTCHA 필드에 올바른 코드를 처음 입력했을 때 예상대로 결제 정보를 제출하지 않지만 다음 오류가 표시됩니다. There has been an error processing your request. 이 문제는 구매자가 CAPTCHA 코드를 입력하지 않거나 잘못 입력하여 주문을 하려고 할 때만 발생합니다. 해결 방법: 페이지를 새로 고치십시오.

문제: 쇼핑객이 Venmo로 결제 ​을 클릭할 때 예상대로 Braintree에서 주문이 생성되지만 관리자의 주문은 생성되지 않습니다. 해결 방법: 없음. 2.4.2 알려진 문제: Braintree Venmo 결제가 작동하지 않음 기술 자료 문서를 참조하십시오.

B2B 알려진 문제

문제: B2B 구매자는 온라인 결제 방법을 사용하여 일반적인 구매 주문 흐름을 우회할 수 있습니다. 이 시나리오는 구매자가 전체 체크아웃 합계를 0으로(예: 프로모션 코드나 기프트 카드) 줄인 다음 코드나 기프트 카드를 제거할 수 있는 경우에 발생할 수 있습니다. 이러한 조건에서도 애플리케이션은 여전히 지정된 카탈로그에 있는 품목의 가격을 기준으로 정확한 금액을 주문합니다. 해결 방법: 구매 주문 승인을 위해 온라인 결제 방법을 사용하는 경우 기프트 카드 및 쿠폰 코드를 사용하지 않도록 설정합니다.

문제: 컨텍스트 내 모드 ​를 사용하지 않도록 설정한 경우 구매자가 PayPal Express 체크아웃을 사용하여 구매 주문에서 주문하려고 하면 장바구니로 리디렉션됩니다.

문제: 구매자가 구매 주문을 만든 다음 체크아웃 페이지로 이동할 때 응용 프로그램에 404 오류가 표시되는 경우가 있습니다. 이 오류는 구매자가 이전에 온라인 결제 방법으로 다른 구매 발주를 만든 후 이전 구매를 완료하지 않고 체크아웃 페이지로 이동한 경우 발생합니다. 구매자는 여전히 구매 발주를 할 수 있습니다. 해결 방법: 없음.

문제: 구매자가 최종 체크아웃 중에 결제 방법을 변경하는 경우에도 특정 결제 방법에 대한 할인은 구매 발주의 체크아웃 중에 유지됩니다. 그 결과 고객은 받을 수 없는 할인을 받을 수 있습니다. 이는 결제 방법이 변경되었음에도 불구하고 원래 결제 방법에 대한 장바구니 규칙이 계속 적용되기 때문에 발생합니다. 해결 방법: 없음. 2.4.2 B2B 알려진 문제: 결제 방법이 변경된 후에도 온라인 구매 주문에 대한 할인이 유지됩니다 기술 자료 문서를 참조하십시오.

문제: deleteRequisitionListOutput 쿼리가 나머지 구매요청 목록 대신 삭제된 구매요청 목록에 대한 세부 정보를 반환합니다.

커뮤니티 기여

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

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

파트너 기여

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

파트너
가져오기 요청
관련 GitHub 문제
아트윅스
magento/magento2#29630, magento/magento2#29459, magento/magento2#29703, magento/magento2#29460, magento/magento2#29042, magento/magento2#29482, magento/magento2#28821, magento/partners-magento2ee#260, magento/magento2#29148, magento/magento#29634 {2, 0}magento/magento2#29832🔗, magento/magento2#29830, magento/magento2#29829, magento/magento2#29828, magento/magento2#29821, magento/magento2#29820, magento/magento2#29836, magento/magento2#29831, magento/magento2#29822, magento 28653, magento/magento2#27391, magento/magento2#29833, magento/magento2#29904, magento/partners-magento2ee#264, magento/partners-magento2ee#248, magento/partners-magento2ee#168, magento/magento2#29929, 🔗magento/magento2#29962🔗 magento/partners-magento2ee#329, magento/magento2#29931, magento/partners-magento2ee#316, magento/magento2#29835, magento/magento2#29834, magento/magento2#30081, magento/magento2#30030, magento/magento#29827, magento/magento#300492#30217 74}magento/magento2#27939🔗, magento/magento2#30222, magento/partners-magento2ee#279, magento/magento2#29868, magento/partners-magento2ee#349, magento/magento2#30079, magento/partners-magento2ee#346, magento/magento#30317, magento/magento {2#30633, magento/magento2#30619, magento/magento2#30359, magento/magento2#30223, magento/magento2#30630, magento/magento2#29675, magento/magento2#30777, magento/magento2#30528, magento/magento2#30525, {108 magento/magento2#30779🔗, magento/magento2#30529, magento/magento2#30694, magento/magento2#, magento/partners-magento2ee#400, magento/partners-magento2ee#401
magento/magento2#29649, magento/magento2#29712, magento/magento2#29501, magento/magento2#29145, magento/magento2#29500, magento/magento2#28520, magento/magento2#28558, magento/magento2#29648, magento/magento2#29843, magento/magento2#29845, magento gento2#29846, magento/magento2#29847, magento/magento2#29824, magento/magento2#29823, magento/magento2#29841, magento/magento2#29844, magento/magento2#29825, magento/magento2#29531, magento/magento#29601, magento to/magento#298392 magento/partners-magento2ee#28551, magento/magento2#29940, magento/magento2#29982, magento/magento2#29941, magento/magento2#29842, magento/magento2#29838, magento/magento2#30103, magento/magento2#30032, magento2#29848, magento /magento2#30058, magento/magento2#30031, magento/magento2#30061, magento/magento2#30561, magento/magento2#30469, magento/magento2#30468, magento/magento2#30372, magento/magento2#30683, magento/magento#30624, 🔗magento/magento#291682{77 magento/magento2#30783, magento/magento2#30916, magento/magento2#30917, magento/magento2#30782, magento/magento2#30926, magento/magento2#30625, magento/partners-magento2ee#30474, magento/partners-magento2ee#{410
청도토리
magento/magento2#29670, magento/magento2#29669, magento/magento2#29564, magento/magento2#27494, magento/magento2#29269, magento/magento2#27609, magento/magento2#29688, magento/magento2#29081, magento/magento2#28379, magento/magento2#29722, magento gento2#27077, magento/magento2#30318, magento/magento2#30010
magento/magento2#29672, magento/magento2#29673, magento/magento2#29679, magento/magento2#29537, magento/magento2#25595, magento/magento2#29689, magento/magento2#28154, magento/magento2#28428, magento/magento2#27397, magento/magento2#29729, magento gento2#29558, magento/magento2#25110, magento/magento2#25886, magento/magento2#28286, magento/magento2#30009
콤랩
magento/magento2#29814, magento/magento2#29751, magento/partners-magento2ee#337, magento/partners-magento2ee#328, magento/partners-magento2ee#319, magento/magento2#30118, magento/magento2#30019, magento/magento2#29998, magento/magento2#29883
magento/magento2#29718, magento/magento2#29372, magento/magento2#29927, magento/magento2#29930, magento/magento2#29926, magento/magento2#29880
패스트 화이트 캣
magento/magento2#29413, magento/magento2#28163, magento/magento2#30320, magento/magento2#30355, magento/magento2#28157, magento/magento2#30114
magento/magento2#24060, magento/magento2#13401, magento/magento2#11175, magento/magento2#30296, magento/magento2#22503, magento/magento2#24091, magento/magento2#30073
바이모
magento/magento2#29339, magento/magento2#28676, magento/magento2#29885
magento/magento2#28633, magento/magento2#29890
시더커머스
magento/magento2#27602, magento/magento2#30400, magento/magento2#30391
magento/magento2#27350, magento/magento2#30361, magento/magento2#30362, magento/magento2#30255
MRM COMMERCE
magento/magento2#30120, magento/partners-magento2ee#175
magento/magento2#30133, magento/partners-magento2ee#26943
EY
magento/magento2#30130
정밀해
magento/magento2#28687, magento/magento2#28663, magento/magento2#28491
magento/magento2#8538, magento/magento2#28479, magento/magento2#28186
creativestyle
magento/magento2#27696, magento/magento2#25405
magento/magento2#29553, magento/magento2#25399
어안
magento/magento2#27940, magento/partners-magento2ee#267, magento/magento2#28216
magento/magento2#29555, magento/magento2#13440
SNOW.DOG
magento/magento2#29934
magento/magento2#29933
integer_net GmbH
magento/magento2#28164
magento/magento2#29585
Zifity
magento/magento2#29353, magento/magento2#27896, magento/magento2#28349
magento/magento2#29194, magento/magento2#29098
파랑새의 날
magento/magento2#27832
magento/magento2#11998, magento/magento2#27500
크리시 테크노랩스
magento/magento2#29923
magento/magento2#29920
보른 그룹
magento/magento2#30109, magento/magento2#30421
magento/magento2#30125
지침 솔루션
magento/magento2#28818
magento/magento2#29546
르 사이트
magento/magento2#25412
magento/magento2#25411
켄지움 솔루션스
magento/magento2#30230
magento/magento2#30179
Webjump
magento/magento2#27869
magento/magento2#27866
Aligent 컨설팅
magento/magento2#29692
magento/magento2#30243
바겐토
magento/magento2#30411
magento/magento2#30408
MediaCT
magento/magento2#29210
magento/magento2#29515
코메로
magento/magento2#28917
magento/magento2#29656

개인 기여자 기여

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

기여 커뮤니티 구성원
가져오기 요청
관련 GitHub 문제
나자르 클로바니치
#29576
1449
샨카르 코나르
#29511
29496
헤이즐 조이 카키클라
#29494
헤이즐 조이 카키클라
#29491
코스 라파우
#29483
29525
헤이즐 조이 카키클라
#29461
예캅스
#29458
29498
나자르 클로바니치
#29452
jmonteros422
#29435
1711
샨카르 코나르
#29433
1738
나자르 클로바니치
#29429
1755, 1694
바르트워미에즈 슈베르
#29413
24060
안젤로 로마노
#29410
29416
허니메이 루이즈 이그나시오
#29400
1703
프란시스제크 바워작
#27478
29606
루카시 바이사로비치
#29670
29672
루카시 바이사로비치
#29669
29673
나자르 클로바니치
#29636
1764
올레 우식
#29630
29649
루카시 바이사로비치
#29564
29679
이호르 스비지예프
#29518
29653
올레 우식
#29459
올렉산드르 크라브추크
#29339
윌 라이트
#29316
29315
바딤 말레시
#29693
29700
바딤 말레시
#29682
안드리 베지아치흐니
#29703
29712
샨카르 코나르
#29510
28422
바딤 말레시
#29474
29267
올레 우식
#29460
29501
드미트리 탐바알
#29042
29145
사바스 라데비치
#28816
28802
사샤
#28548
28674
얀 나소노프
#28512
29661
루돌프 빈스
#27494
29537
나자르 클로바니치
#29684
1769
나자르 클로바니치
#29633
1763
헤이즐 조이 카키클라
#29639
jmonteros422
#29632
1760
올레 우식
#29482
29500
사티시 수프라마니아어
#29353
29194
러셀 앨빈
#29269
25595
바르트워미에즈 슈베르
#28163
13401
마테우시 크제쇼비악
#27696
29553
비탈리 프로코포프
#27691
26903
코로스티이
#26081
26080
나자르 클로바니치
#29711
1774
헤이즐 조이 카키클라
#29411
아웃 크레이머
#29210
29515
에두아르트 치토라가
#29148
올레 우식
#28821
28558, 28520
나자르 클로바니치
#29783
1780
jmonteros422
#29774
1783
헤이즐 조이 카키클라
#29772
세르기이 이바시첸코
#29761
jmonteros422
#29753
1784
나자르 클로바니치
#29743
1782
나자르 클로바니치
#29742
1778
헤이즐 조이 카키클라
#29705
jmonteros422
#29677
1504
이호르 스비지예프
#29799
올레 우식
#29634
29648
알렉산드르 스크라슈크
#29348
28921
비탈리 프로코포프
#28413
28388
루카시 바이사로비치
#27609
코로스티이
#27579
27523
크리스티안 파티카
#29426
29425
미하우 데를라트카
#28915
26425
올레 우식
#29832
29843
올레 우식
#29830
29845
올레 우식
#29829
29846
올레 우식
#29828
29847
올레 우식
#29821
29824
올레 우식
#29820
29823
데니스 바벤코
#28343
29067
#27269
26288
안드리 카시안
#27129
25199
헤이즐 조이 카키클라
#29875
헤이즐 조이 카키클라
#29869
올레 우식
#29836
29841
올레 우식
#29831
29844
올레 우식
#29822
29825
두응우옌
#29044
29526
비노스
#28349
서맥 호흡기
#27386
29560
세르기이 이바시첸코
#29921
헤이즐 조이 카키클라
#29896
샨카르 코나르
#29724
29704
올레 우식
#28653
29531
두응우옌
#29913
29914
나자르 클로바니치
#29861
1789
두응우옌
#29856
29857
두응우옌
#29771
29779
에덴 두옹
#29278
29277
에덴 두옹
#29276
29336
모하메드 아사르
#27896
29098
허니메이 루이즈 이그나시오
#29947
톡신스
#29925
28981, 29879
빅토르 코핀
#29906
올가 자하르추크
#29863
29958
니콜라이 말레바넥
#29006
12087
압둘 라만 아부자이드
#28687
8538
크리엘킵NL
#27832
11998, 27500
가우라브 아가르왈
#27602
27350
알렉산드르 타라놉스키
#27391
29601
스타니슬라프 일니츠키
#26877
26876
세르기이 이바시첸코
#29889
나자르 클로바니치
#29715
1487
허니메이 루이즈 이그나시오
#29543
1724
올레 우식
#29833
29839
포라파트 추아숙
#28896
28892
비탈리 프로코포프
#27857
26976
에두아르트 치토라가
#29904
헤이즐 조이 카키클라
#30006
이호르 스비지예프
#29993
30004
빅토르 코핀
#29959
1813
헤이즐 조이 카키클라
#29909
루카시 바이사로비치
#29688
29689
샨카르 코나르
#29415
29354
헤이즐 조이 카키클라
#29967
올레 우식
#29929
29940
헤이즐 조이 카키클라
#29895
아쇼카데비트
#27446
29603
파스칼 브라우어스
#26527
26526
세르기이 이바시첸코
#30076
헤이즐 조이 카키클라
#30044
빅토르 코핀
#29979
1806
야누시 잔치
#29934
29933
마빈 힌츠
#29542
29185
피테르 잔드베르겐
#29274
29524
조 홉스
#25510
25147
브누아 실로
#25405
25399
빅토르 코핀
#30074
헤이즐 조이 카키클라
#30042
올레 우식
#29962
29982
올레 우식
#29931
29941
올레 우식
#29835
29842
올레 우식
#29834
29838
예브게니 레빈스키
#27698
28324
바딤 말레시
#26470
7720
올레 우식
#30081
30103
레안드로 …
#30014
30013
타라스 가마노프
#29968
24348, 24400
샨카르 코나르
#29671
16531, 24332, 29852
에자즈 알람
#29486
29487, 29502
올레 우식
#30030
30032
유진 샤크수바로프
#28117
28116
세르히이 제파
#30095
헤이즐 조이 카키클라
#30057
헤이즐 조이 카키클라
#30034
마르코스 트라마
#29972
29984
리준 올렉산드르
#29814
29718
두응우옌
#29794
29075
그레그 하벨
#29081
28154, 28428
다니엘 베이틀러
#29080
29659
스비아토슬라프
#28818
29546
파비안 슈멩글러
#28164
29585
티모테우시 모틸레프스키
#27980
29590
알렉스 구세프
#30077
26762, 29612
압둘 라만 아부자이드
#28663
28479
압둘 라만 아부자이드
#28491
28186
지텐파텔
#27953
12225
이호르 스비지예프
#30153
30183
샨카르 코나르
#30069
30164
레안드로 …
#30011
29377
올레 우식
#29827
29848
다비데 리카르도 칼리엔도
#29015
29017
잭 난닝가
#28379
27397
뷔냐민
#27869
27866
에덴 두옹
#27585
29599
데이비드 해커
#30096
322
야로슬라프 가르마시
#30075
312
존 카를로 옥타비오
#30028
프레데릭 마르티네스
#30182
30191
이호르 스비지예프
#30170
30146
라파엘 카스너
#30160
숀 반 주담
#30139
30186
바르토시 고르스키
#30120
30133
밀린드 싱
#30109
30125
케이트 키지마
#30049
30058
다미안 쿨로타
#29722
29729
안톤 에버스
#28995
29522
케이트 키지마
#30217
니키타 사리체프
#30172
30173
두응우옌
#30108
알렉산더 멩크
#29205
29174, 30240
바니 셔골드
#28676
28633
요나스 휘니그
#28516
29662
두응우옌
#28177
30237
알렉산드르 타라놉스키
#27939
30031
데이비드 매너스
#27581
29598
나바르 바르니에
#27077
29558
콜라엔테
#30180
30190
페프 판 푸이옌브룩
#29466
29652
프레데릭 마르티네스
#28588
페트코프스키 마르얀
#29751
29372
올레 우식
#30222
티몬 드 그루트
#28809
22375
니라브 파텔
#28385
30345
댄 월리스
#27940
29555
숀 반 주담
#30065
30064
두응우옌
#30008
30036
두응우옌
#29726
29719
가브리엘 소모사
#28389
29165
댄 월리스
#28216
13440
라파엘 코헤아 고메스
#25412
25411
#29885
29890
바르토시 쿠비키
#27092
29557
수드헤르 신감세티
#30230
30179
남라타
#30358
30450
두응우옌
#30333
30448
보이텍 나루니츠
#30318
25110, 25886, 28286
숀 반 주담
#30062
30063, 30066
두응우옌
#29773
29778
피에터 카펠레
#26713
14398, 21885
바르트워미에즈 슈베르
#30320
11175
바스 판 포펠
#30167
30169
이호르 스비지예프
#30023
30025
이호르 스비지예프
#30002
30005
에덴 두옹
#27574
29597
라파엘 카스너
#27454
29604
니라브 파텔
#30458
30452
두응우옌
#30454
30496
solwininfotech
#30405
26133
바르트워미에즈 슈베르
#30355
30296
세르히이 제파
#30554
알린 알렉산드루
#30340
30508
올레 우식
#29868
30061
기욤 퀸타드
#28928
29988
마다
#28172
27925
바르트워미에즈 슈베르
#28157
22503, 24091
니콜라이 섬락
#27672
29552
요나스 휘니그
#30502
30566
야로슬라프 보구츠키
#30493
30510
두응우옌
#30453
30542
수닐 파텔
#30402
30388
올레 우식
#30079
예로엔
#29911
29915
피에터 호스테
#29196
29297, 29478
요한 린달
#28917
29656
바르토시 쿠비키
#26967
29615
에자즈 알람
#30579
30545
피에터 호스테
#30570
6868, 7252, 13316
남라타
#30538
30550
프라틱 오자
#30530
30552
안드리 카시안
#30521
30563
나이치르흐
#30322
30314
케이트 키지마
#30317
30561
스타니슬라프 일니츠키
#30198
30601
키일디림
#28352
28124
안드리 베지아치흐니
#30633
30469
에두아르트 치토라가
#30619
30468
수드헤르 신감세티
#30375
30349
사가르 다히왈라
#30368
325
니콜라이 말레바넥
#30763
30747
드미트리 탐바알
#30359
30372
올레 우식
#30223
30683
루카시 바이사로비치
#28147
28309
마테이 푸르카루
#27972
27954
보바 야추크
#27674
29551
바르토시 쿠비키
#26966
30216
사이먼 스프랑켈
#26401
29621
가브리엘 다 가마
#30895
30896
사무엘 카사도르
#30793
30833
보바 야추크
#30774
30781, 197
디에고 사나브리아
#30681
30680
에브겐 모족
#30632
24730
산제이 파텔
#30411
30408
시카 미시라
#30400
30361, 30362
시카 미시라
#30391
30255
바르트워미에즈 슈베르
#30114
30073
마이클 보튼스
#30010
30009
두응우옌
#29986
29987
사팔 자
#29923
29920
안드리 카시안
#27379
29600
야로슬라프 로고사
#30630
30624
올레 우식
#29675
29168
안드리 칼리니치
#30749
23069
빅토르 코핀
#30727
30645
토머스 클라인
#30825
30859
올레 우식
#30777
30783
올레 우식
#30528
30916
올레 우식
#30525
30917
이호르 스비지예프
#30090
30184
안드리 칼리니치
#30866
24717
빅토르 코핀
#30928
30685
니티쉬 싱
#30421
올레 우식
#30779
30782
나자르 클로바니치
#30662
30649
올레 우식
#30529
30926
마러시 덴체프
#30614
30104
라클란
#29692
30243
빅토르 코핀
#30947
29128
안드리 칼리니치
#30807
26432
빅토르 코핀
#30961
13746
니콜라이 말레바넥
#30963
30295
안드리 베지아치흐니
#30694
30625
알렉산드르 투리악
#30636
30467

시스템 요구 사항

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

설치 및 업그레이드 지침

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

마이그레이션 툴 키트

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

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

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