Jeśli chodzi o solidne i skalowalne rozwiązania eCommerce, Shopware 6 to platforma, która często przychodzi na myśl. Znana ze swojej elastyczności i rozszerzalności, umożliwia szeroki wachlarz dostosowań — czy to w zakresie zarządzania produktami, angażowania klientów, czy przetwarzania zamówień. Jednak platforma nie jest pozbawiona wyzwań, szczególnie jeśli chodzi o funkcje importu i eksportu danych.

W szczególności firmy o wyjątkowych wymaganiach operacyjnych mogą stwierdzić, że domyślne możliwości zestawu narzędzi importu/eksportu Shopware nie w pełni spełniają ich potrzeby. Na przykład możesz mieć niestandardowe encje, które nie pasują idealnie do standardowych modeli danych produktu, klienta lub zamówienia. Ponadto, nawet w przypadku wbudowanych encji, możesz napotkać wyzwania podczas próby importowania złożonych zestawów reguł — mogą to być wieloaspektowe warunki wpływające na dostępność produktu, ceny lub oferty promocyjne.

Takie zawiłości wymagają głębszego wniknięcia w architekturę platformy, aby rozszerzyć jej możliwości. Niniejszy artykuł ma służyć jako kompleksowy przewodnik po radzeniu sobie z dwoma takimi zawiłościami: dodawaniem niestandardowych encji do procesów importu/eksportu i rozwiązywaniem wyzwań, które pojawiają się podczas importowania reguł.

Aby rozjaśnić te tematy, zagłębimy się w szczegóły na poziomie kodu, podając rzeczywiste przykłady i rozwiązania, które zostały pomyślnie wdrożone. Zaczniemy od szybkiego przeglądu mechanizmu importu w Shopware 6, a następnie przejdziemy do dodawania niestandardowych encji, a na koniec omówimy, jak pokonać wyzwania związane z importem reguł.

Po przeczytaniu tego artykułu zarówno programiści, jak i administratorzy Shopware powinni dogłębnie rozumieć, w jaki sposób dostosować platformę Shopware 6, aby lepiej spełniała zaawansowane wymagania dotyczące importu i eksportu danych.

A teraz przyjrzyjmy się bliżej kwestiom technicznym.

Mechanizm importu Shopware 6: krótki przegląd

Standardowe narzędzie importu Shopware zostało stworzone do obsługi szeregu jednostek, takich jak produkty, zamówienia i klienci. Mogą jednak istnieć scenariusze, w których wbudowane funkcje nie wystarczą. Na przykład może być konieczne zaimportowanie niestandardowych jednostek lub napotkanie problemów podczas próby importowania reguł, które mogą obejmować złożone instrukcje warunkowe.

Dodawanie niestandardowych jednostek i reguł do importów i eksportów

Shopware 6 pozwala rozszerzyć funkcje importu i eksportu poprzez dodawanie niestandardowych encji. W naszym przypadku dodaliśmy trzy nowe encje zarówno do importu, jak i eksportu: Rule, Rule Condition i Custom Entity.

Aby to osiągnąć, zmodyfikowaliśmy tablicę „supportedEntities” komponentu sw-import-export-edit-profile-general w naszej niestandardowej wtyczce, aby uwzględnić te nowe encje. Zaktualizowana tablica określa wartość, etykietę i typ encji zarówno dla importu, jak i eksportu.

Nie zapomnij również o dołączeniu nowego pliku do main.js: import ’./extend/sw-import-export-edit-profile-general’; I uruchom polecenie: bin/build-administration.js.

Wprowadzając te zmiany, udało nam się rozszerzyć możliwości narzędzia importu/eksportu Shopware 6 o obsługę reguł, warunków reguł i encji niestandardowych.

Wyzwania w Rule Import

Rule Import w Shopware 6 może być skomplikowane z powodu różnych typów pól i ich potrzeb serializacji. Specyficzne problemy pojawiają się podczas próby zaimportowania reguły, która nie jest bezpośrednio obsługiwana przez domyślny FieldSerializer Shopware.

Rozwiązanie: FieldSerializer Decoration

Aby rozszerzyć możliwości oryginalnej klasy FieldSerializer w Shopware, stworzyliśmy dekorator. Kluczowe zmiany są następujące:

  • Dodaj kolejne polecenie „elseif” do metody serialize:
  • Utwórz nową metodę prywatną:

Teraz możemy utworzyć nowe profile dla naszych importów i eksportów:

Want to explore the best eCommerce technologies and deep dive into Shopware? Check out our free e-book – A comprehensive guide to choosing the best technologies for eCommerce

Podsumowanie 

Rozszerzenie możliwości importu Shopware 6 nie polega tylko na modyfikowaniu plików konfiguracyjnych; czasami wymaga bardziej dogłębnej personalizacji, jak w przypadkach omówionych powyżej. Ten artykuł zawiera praktyczne rozwiązania dotyczące dodawania niestandardowych encji i rozwiązywania problemów z importem reguł. Dzięki tym dostosowaniom praca z funkcjami importu/eksportu Shopware powinna być znacznie łatwiejsza.

Jeśli masz jakiekolwiek pytania dotyczące tego tematu, skontaktuj się z nami!