> For the complete documentation index, see [llms.txt](https://usermanual.ergonode.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://usermanual.ergonode.com/ergonode-user-manual-pl/wtyczki/oswiadczenie-o-zastrzezeniu-odpowiedzialnosci/shopware.md).

# Shopware

Ostatnia ręczna aktualizacja: 2024-09-04

{% hint style="warning" %}
Wtyczka Shopware jest teraz w pełni Open Source i jest utrzymywana przez stronę trzecią.&#x20;

Proszę przejść do [GitHub ](https://github.com/ergonode/integration-shopware)aby pobrać najnowszą wersję, zapoznać się ze zmianami lub utworzyć zgłoszenie (issue), jeśli wystąpią problemy.&#x20;

Niniejszy podręcznik może z czasem stać się nieaktualny.
{% endhint %}

{% hint style="danger" %}

### **Przeczytaj proszę** [**OŚWIADCZENIE ZRZECZENIA SIĘ ODPOWIEDZIALNOŚCI** ](/ergonode-user-manual-pl/wtyczki/oswiadczenie-o-zastrzezeniu-odpowiedzialnosci.md)**przed użyciem tej wtyczki.**

{% endhint %}

###

Konektor Shopware do Ergonode działa tylko z Ergonode Cloud i Shopware 6.5. Wykorzystuje API GraphQL do nawiązania połączenia między tymi platformami.

{% hint style="success" %}
Licencja wtyczki daje użytkownikom swobodę modyfikowania kodu we własnym zakresie, co pozwala wprowadzać dodatkowe funkcje lub naprawiać błędy. Przesyłanie tych zmian do Ergonode jest mile widziane, jednak ich włączenie do oficjalnej bazowej wersji wtyczki zależy od decyzji Ergonode i nie jest gwarantowane.
{% endhint %}

{% hint style="warning" %}
NIE używaj podwójnego znaku podkreślenia \_\_ nigdzie w Ergonode — może to spowodować nieprawidłowe działanie wtyczki, ponieważ \_\_ jest używane do wewnętrznego oznaczania elementów w kodzie wtyczki.
{% endhint %}

{% hint style="info" %}
Konfiguracja (w odniesieniu do adresu endpoint API, mapowania pól, kategorii, harmonogramu i pól własnych) wykonuje się jednokrotnie i jest współdzielona przez wszystkie kanały sprzedaży. Możliwe jest jednak zsynchronizowanie innego segmentu produktów dla każdego kanału sprzedaży. Osiąga się to, wybierając konkretny kanał sprzedaży w konfiguracji wtyczki, a następnie edytując klucz API dla tego kanału. W takim przypadku dany kanał będzie synchronizowany z segmentem produktów Ergonode określonym przez ten klucz API.

„Segment” w Ergonode to zestaw produktów wybieralny za pomocą reguły, któremu można przypisać własny klucz API. W tym kontekście funkcjonalność Segmentów można wykorzystać do przypisania różnych zestawów produktów do różnych kanałów sprzedaży.
{% endhint %}

{% hint style="info" %}
Ta wtyczka jest zaprojektowana do pracy z pojedynczym konsumentem. Nie można zagwarantować poprawnego działania wtyczki przy pracy z wieloma konsumentami.
{% endhint %}

## Ogólne założenia

* Działająca instalacja Ergonode
* Co najmniej 1 wygenerowany klucz API Ergonode
* Działający konsument Shopware (Admin Worker lub CLI - messenger:consume)
* Wszystkie zadania synchronizacji działają w kolejce

**Język Shopware:**

* Domyślny język Shopware (ten wybrany podczas instalacji Shopware) MUSI być oznaczony jako aktywny w Ergonode.

**Dodatkowe punkty:**

* Przynajmniej Atrybut Ergonode zmapowany na nazwę w Shopware MUSI być wypełniony, aby mieć domyślną nazwę produktu w Shopware.
* Zaleca się, aby przynajmniej domyślne tłumaczenia języka Shopware były wypełnione we wszystkich produktach/kategoriach/atrybutach Ergonode itp.
* Gdy brak jest tłumaczenia, wtyczka używa jako fallback wartości kodowej. Na przykład przy domyślnym języku Shopware pl-PL należy wypełnić przynajmniej jedno pole dla każdego produktu/kategorii/atrybutu Ergonode w tłumaczeniu polskim.

**Ważne:**

* Każdy język musi być aktywowany w wtyczce „Language pack”.

{% hint style="info" %}
Jeśli SKU produktu w Ergonode PIM jest takie samo jak numer produktu istniejącego już w Shopware, informacje o produkcie w Shopware zostaną nadpisane; w przeciwnym razie zostanie utworzony nowy produkt.
{% endhint %}

## Krok 1: Jak uzyskać konektor Shopware > Ergonode

Konektor jest dostępny na żądanie. Aby uzyskać zabezpieczony link do Google Drive, skontaktuj się z pomocą techniczną Ergonode.

## Krok 2: Wygeneruj klucze API w panelu administracyjnym Ergonode

Pamiętaj, że Twój klucz API to dane wrażliwe. Przechowuj go bezpiecznie i nie udostępniaj osobom, którym nie ufasz. W razie potrzeby możesz cofnąć dostęp do klucza API z tej samej strony Kluczy API, na której go utworzyłeś.

{% hint style="info" %}
Podczas tworzenia klucza API możesz wybrać segment (opcjonalnie), dzięki czemu Shopware Connector pobierze tylko produkty zgodne z wybranym segmentem. Jeśli to pole pozostawisz puste, pobierane będą wszystkie produkty z systemu Ergonode. Wartość checkboxa „Allow to write” nie ma znaczenia, ponieważ moduł nic nie zapisuje w Ergonode. Zaleca się pozostawienie go niezaznaczonego.
{% endhint %}

{% hint style="warning" %}
Podczas synchronizacji produktów grupujących lub produktów z wariantami pamiętaj, że WSZYSTKIE produkty MUSZĄ należeć do tego samego segmentu.
{% endhint %}

Informacje, jak utworzyć klucz API, można znaleźć [tutaj](/ergonode-user-manual-pl/system/ustawienia/klucze-api.md).

## Krok 3: Instalacja

Kompleksowy przewodnik instalacji rozszerzenia dostępny jest w oficjalnej dokumentacji Shopware w sekcji: [Shopware 6 - My extensions](https://docs.shopware.com/en/shopware-6-en/extensions/myextensions).

Po pomyślnym dodaniu wtyczki do sklepu Shopware rozpocznij proces instalacji. Można to zrobić, przechodząc do ‘Shopware Admin > Extensions > My Extensions’. Znajdź na liście ‘Shopware Ergonode Integration’ i wybierz ‘Install’.

<figure><img src="/files/89345171b6378e7423726db7de59eed0564de718" alt=""><figcaption><p>Shopware Admin > Extensions > My Extensions - instalacja</p></figcaption></figure>

Aktywuj wtyczkę, wybierając przycisk radiowy znajdujący się po lewej stronie.

<figure><img src="/files/a636da62b9af37f3f778e3ffcd3e879eb0867acc" alt=""><figcaption><p>Shopware Admin > Extensions > My Extensions - aktywacja</p></figcaption></figure>

Po wykonaniu tych kroków konfiguracja powinna przypominać następujący widok.

<figure><img src="/files/f878760bd0639569540486979c2eb2c58578e2e2" alt=""><figcaption><p>Shopware Admin > Extensions > My Extensions - końcowy widok</p></figcaption></figure>

### Aktualizacja z starszej wersji

#### **Pobierz nową wersję wtyczki**

* Pobierz nową wersję wtyczki z dostarczonego linku Google Drive.

#### **Prześlij wtyczkę do Shopware**

* Przejdź do **Administration > Extensions > My Extensions**.

<figure><img src="/files/fe3d5ea0657e458d4304f6e7c7dbbf83222da542" alt=""><figcaption><p>Ekran Shopware Administration > Extensions > My Extensions</p></figcaption></figure>

* Kliknij na **Upload extension** przycisk i potwierdź swoją decyzję.

<figure><img src="/files/ba47aa746d08045e71796e6f8baefdf0f2f1b34b" alt=""><figcaption><p>Okno potwierdzenia zamiaru</p></figcaption></figure>

* Wybierz plik ZIP z nową wtyczką i potwierdź przesłanie.

#### **Zaktualizuj wtyczkę**

* Na liście wtyczek pojawi się teraz opcja **Update**.

<figure><img src="/files/96f6424d5d7704d7f11870a7b3f52cf85563b71d" alt=""><figcaption><p>Shopware Administration > Extensions > My Extensions - lista wtyczek</p></figcaption></figure>

* Kliknij ją i poczekaj na zakończenie procesu aktualizacji.

<figure><img src="/files/8741a2275134921db88046f7224a8caa4db9de73" alt=""><figcaption><p>Shopware Administration > Extensions > My Extensions - lista wtyczek - nowa wersja</p></figcaption></figure>

Nowa wersja wtyczki jest teraz zainstalowana, a numer wersji został zaktualizowany.

## Krok 4: Konfiguracja

Najpierw należy skonfigurować połączenie z Ergonode. Można to zrobić, uzyskując dostęp do konfiguracji wtyczki poprzez pasek boczny Administracji. Postępuj zgodnie ze ścieżką nawigacji: ‘Extensions > My Extensions > Shopware Ergonode Integration > … (3 kropki po prawej) > Configuration’.

<figure><img src="/files/78380ba640be54713be2aed0b87a3a36210572b4" alt=""><figcaption><p>Extensions > Store menu</p></figcaption></figure>

<figure><img src="/files/1bfaafb0369b34e2177a1bea916cc6ba18bea42b" alt=""><figcaption><p>Opcja konfiguracji wtyczki</p></figcaption></figure>

### Ustawienia API

<figure><img src="/files/4162491b9cf0a4593cbd196654d13b995bf31359" alt=""><figcaption><p>Ekran konfiguracji API Shopware Ergonode Integration</p></figcaption></figure>

#### Endpoint Ergonode GraphQL API:&#x20;

* Pole wymaga pełnego adresu URL endpointu GraphQL.
* URL powinien być podany wyłącznie dla wszystkich Kanałów Sprzedaży. Przypisywanie różnych URL dla innych Kanałów Sprzedaży nie przyniesie efektu. Ta wartość jest propagowana do innych kanałów sprzedaży i nie powinna być zmieniana ani usuwana indywidualnie dla poszczególnych kanałów.
* URL powinien mieć format „<https://nazwa.ergonode.cloud/api/graphql/”>, gdzie pierwszy segment odpowiada URL używanego środowiska Ergonode.
* W przeciwieństwie do bazowego URL, klucze API mogą być ustawiane indywidualnie dla każdego Kanału Sprzedaży. Jednak obowiązkowe jest ich wypełnienie dla wszystkich kanałów. Można je modyfikować dla każdego kanału, co umożliwia konfigurację Segmentów w Ergonode, aby przypisać do Kanału Sprzedaży tylko Produkty filtrowane warunkami Segmentu. Jeśli ustawiony zostanie tylko główny klucz API, domyślnie wszystkie Kanały Sprzedaży zostaną przypisane do Produktów.

{% hint style="info" %}
Należy pamiętać, że dla prawidłowego działania wszystkie segmenty kanałów sprzedaży muszą obejmować produkty, które będą używane do zasilenia poszczególnych kanałów sprzedaży.

Na przykład: wszystkie klucze kanałów są skonfigurowane do pracy z ‘main\_segment’, który zawiera produkty o SKU: SKU1, SKU2 i SKU3. Następnie użytkownik musi wygenerować nowy klucz API dla kanału ‘Headless’, który będzie zawierał wyłącznie SKU2 i SKU3.

Jeśli segment powiązany z kluczem API używanym dla wszystkich kanałów sprzedaży nie zawiera produktów z innych kanałów, tworzenie produktów dla tych dodatkowych kanałów nie zostanie wykonane.
{% endhint %}

<figure><img src="/files/3febabb703b44bcbbef111a5e687276cde1bf3b2" alt=""><figcaption><p>Ekran konfiguracji API Shopware Ergonode Integration - kanał sprzedaży</p></figcaption></figure>

<figure><img src="/files/f8768d3b10483f79ecc8de6ec0ae786890b19efb" alt=""><figcaption><p>Ekran konfiguracji API Shopware Ergonode Integration - kanał sprzedaży - inny klucz API</p></figcaption></figure>

{% hint style="danger" %}
Ostrzeżenie: po zapisaniu zmian zostaniesz przekierowany z powrotem do „All Sales Channels”. To normalne zachowanie Shopware.
{% endhint %}

#### Weryfikacja poświadczeń:

* Kliknij ‘Verify’, aby uwierzytelnić powyżej podane poświadczenia.
* Zaleca się weryfikację poświadczeń przed zapisaniem konfiguracji.
* W przypadku niepoprawnych poświadczeń odpowiednie informacje można znaleźć w katalogu logów Shopware, zwykle pod ‘/var/log’.

### Mapowanie pól

Opcjonalnie można skonfigurować mapowanie pól własnych Shopware oraz atrybutów cross-selling.

{% hint style="warning" %}
Uwaga: Konieczne jest skonfigurowanie Ustawień API i zapisanie konfiguracji przed przejściem do konfiguracji mapowania pól.
{% endhint %}

<figure><img src="/files/5e85f4c3cae3ca3f30e4b94230ccf1c4cf5b3935" alt=""><figcaption><p>Ekran konfiguracji mapowania pól Shopware Ergonode Integration</p></figcaption></figure>

#### Atrybuty Ergonode jako Pola Własne Shopware:

* Menu rozwijane wymienia wszystkie Atrybuty Ergonode.
* Wybrane atrybuty będą wykorzystywane do:
  * Generowania Pol Własnych Produktu Shopware z odpowiednimi typami podczas synchronizacji Atrybutów.
  * Synchronizowania wartości podczas synchronizacji Produktów.

#### Atrybuty Ergonode jako Cross-Selling:

* Menu rozwijane wymienia wszystkie Atrybuty Ergonode typu ‘relation’ (znane również jako ‘Product relations’).
* Wybrane atrybuty będą używane do tworzenia kolekcji Cross-Selling produktów podczas synchronizacji Produktów (szczegóły w sekcji ‘Product Cross Selling’).

#### Wymuś zapisywanie SKU produktu wielkimi literami:

* Gdy ta opcja jest włączona, produkty będą zapisywane w Shopware wielkimi literami, na przykład w Ergonode: `Product-12a` zostanie zapisane jako `PRODUCT-12A`

### Synchronizacja kategorii

{% hint style="danger" %}
Aby ułatwić synchronizację Kategorii z Ergonode do Shopware, administrator musi zdefiniować kod drzewa kategorii w konfiguracji wtyczki.
{% endhint %}

Uwaga: Twoje drzewa kategorii można znaleźć w Ergonode w kolumnie ‘Category tree code’ na siatce Category trees.

<figure><img src="/files/a6fcbbd665d2e4ec10b387f2b6fdb3b97b5cd40c" alt=""><figcaption><p>Siatka drzew kategorii w Ergonode</p></figcaption></figure>

Drzewa kategorii do synchronizacji można wybrać z wielokrotnego pola wyboru (multi-select), co pozwala na synchronizację wielu drzew kategorii.&#x20;

<figure><img src="/files/af6001b14230e907a7a6d445c721f4adab90c3df" alt=""><figcaption><p>Ekran konfiguracji synchronizacji kategorii Shopware Ergonode Integration</p></figcaption></figure>

{% hint style="info" %}
Każda kategoria jest synchronizowana z Ergonode do Shopware w trybie jeden do jednego, co oznacza:

* Kategoria utworzona w Ergonode jest replikowana w Shopware.
* Tłumaczenie kategorii w konkretnym języku jest przenoszone do Shopware.
* Usunięcie kategorii z Ergonode skutkuje jej usunięciem w Shopware.
* Pozycja kategorii w drzewie kategorii w Shopware odzwierciedla jej pozycję w odpowiadającym drzewie kategorii w Ergonode.

Należy mieć świadomość, że może wystąpić sytuacja, w której kategoria w Ergonode ma uzupełniony jedynie ‘category code’ i brak tłumaczeń. W takim przypadku ‘category code’ zostanie przesłany do Shopware jako tłumaczenie w domyślnym języku systemu.

Istnieje możliwość mapowania kategorii obecnych w obu systemach przed synchronizacją. Więcej informacji znajduje się w sekcji dokumentacji ‘Category mappings’.
{% endhint %}

### Scheduler

Aby umożliwić automatyczną synchronizację, konieczne jest skonfigurowanie harmonogramu.

<figure><img src="/files/fb52e6546faea1da04c8c8bb204b17bc7d8f2c5b" alt=""><figcaption><p>Ekran konfiguracji harmonogramu Shopware Ergonode Integration</p></figcaption></figure>

#### Opis pól:

* **Włącz Harmonogram**: Ten przełącznik pozwala włączyć lub wyłączyć automatyczną synchronizację.
* **Data i godzina rozpoczęcia**: To pole pozwala wybrać czas rozpoczęcia, od którego harmonogram ma inicjować synchronizację.
* **Strefa czasowa harmonogramu**: To pole pozwala ustawić strefę czasową dla wybranej daty i godziny.
* **Godzina powtarzania**: To pole, z zakresem 0–24, determinuje godzinową częstotliwość synchronizacji.
* **Minuta powtarzania**: To pole, z zakresem 0–59, determinuje minutową częstotliwość synchronizacji.

Przykłady:

* Jeśli Godzina powtarzania = 0 i Minuta powtarzania = 10, synchronizacja będzie odbywać się co 10 minut.
* Jeśli Godzina powtarzania = 1 i Minuta powtarzania = 0, synchronizacja będzie odbywać się co godzinę.
* Jeśli Godzina powtarzania = 2 i Minuta powtarzania = 30, synchronizacja będzie odbywać się co 2,5 godziny.

{% hint style="warning" %}
Ostrzeżenie: Zachowaj rozwagę przy wybieraniu bardzo małych interwałów (np. 1 minuta). W zależności od wydajności serwera, częstotliwości zmian produktów w instancji Ergonode oraz liczby atrybutów do synchronizacji, częste synchronizacje mogą powodować problemy z wydajnością, chociaż nie jest to gwarantowane.
{% endhint %}

Pamiętaj, aby zapisać zmiany przed opuszczeniem strony podstawowej konfiguracji.

<figure><img src="/files/7b638a0ce47668c3e30ba63a54ad8794991abf95" alt=""><figcaption><p>Przycisk zapisu zmian Shopware Ergonode Integration</p></figcaption></figure>

## Krok 5: Mapowanie

### Pola Select (boolean)

Możliwe jest mapowanie boolean-owych pól Shopware (np. active) z atrybutami typu select w Ergonode. Aby to zrobić, opcje select w Ergonode muszą spełniać następujące warunki:

{% hint style="info" %}
Zaleca się ustawienie zakresu (scope) atrybutów select w Ergonode na globalny; atrybuty boolean i pola własne Shopware nie są tłumaczalne w Shopware. Jeśli atrybut jest lokalny, podczas synchronizacji użyta zostanie tylko wartość domyślnego języka.
{% endhint %}

Następujące wartości są dozwolone jako kody opcji:

| Wartość, która zostanie zapisana w SW | Kody opcji ustawione w Ergonode |
| ------------------------------------- | ------------------------------- |
| true                                  | true                            |
|                                       | 1                               |
|                                       | YES                             |
|                                       | yes                             |
|                                       | Y                               |
|                                       | y                               |
|                                       | A                               |
|                                       | a                               |
| false                                 | false                           |
|                                       | 0                               |
|                                       | NO                              |
|                                       | no                              |
|                                       | N                               |
|                                       | n                               |
|                                       | B                               |
|                                       | b                               |

{% hint style="warning" %}
Jeśli kod opcji nie pasuje do żadnej z powyższych wartości, wartość podczas synchronizacji zostanie uznana za false.
{% endhint %}

### Atrybut czasu dostawy

Czas dostawy w Shopware jest atrybutem typu SELECT. Opcje dla tego atrybutu konfiguruje się w ustawieniach sklepu. Wartość tego atrybutu dla każdego produktu może być synchronizowana z Ergonode, jeśli spełnione są określone warunki:

* Opcje czasu dostawy są utworzone w Shopware:

<figure><img src="/files/d73aa6b1e8d12aba0c4c3df5372c189ae55ba19d" alt=""><figcaption><p>Strona konfiguracji czasów dostawy w Shopware</p></figcaption></figure>

* Atrybut typu SELECT o nazwie (kod) **delivery\_time** jest utworzony w Ergonode.
* Opcje dla atrybutu delivery\_time są utworzone w Ergonode.

{% hint style="warning" %}
Uwaga! Te opcje muszą być identyczne jak opcje utworzone w Shopware! Nowe opcje tworzone w Shopware NIE będą tworzone automatycznie w Ergonode podczas synchronizacji, więc trzeba je utworzyć ręcznie.
{% endhint %}

* Czas dostawy w Shopware jest mapowany z atrybutem delivery\_time Ergonode w ustawieniach wtyczki.

### Stawki podatkowe

Domyślnie Shopware pozwala przypisać 3 typowe stawki podatku (Panel admina SW -> Lewy menu -> Settings -> Shop -> Tax): Standard, Reduced, Super-reduced. Te stawki mogą mieć przypisane różne wartości liczbowe (zobacz zrzut ekranu poniżej):

<figure><img src="/files/3665073d4f3388a4fc3b0c6c0745e98219838bee" alt=""><figcaption><p>Strona konfiguracji podatków w Shopware</p></figcaption></figure>

Jeśli wartość stawki podatkowej zsynchronizowana z Ergonode różni się numerycznie od tych trzech stawek, w Shopware zostanie wygenerowana nowa stawka podatkowa i przypisana do produktu. Będzie nazwana „Ergonode Autogenerate (\[tutaj wartość liczbowa]%)”.

### Odwzorowanie atrybutów

{% hint style="info" %}
Po utworzeniu typów atrybutów w obu systemach nie można ich zmieniać. Jeśli chcesz zmienić ich typy, konieczne będzie utworzenie zupełnie nowych atrybutów.
{% endhint %}

Po pomyślnym zakończeniu konfiguracji wtyczki możliwe jest dokończenie procesu konfiguracji poprzez ustawienie „Attribute Mappings”.

Konfigurację tego mapowania można wykonać, przechodząc do ‘*Settings -> Ergonode Integration -> Attribute Mappings*’.&#x20;

Aby włączyć synchronizację wartości atrybutów produktów Ergonode z Shopware, należy zmapować je z atrybutami Shopware, korzystając ze strony ‘*Attribute Mappings*’.&#x20;

<figure><img src="/files/85d709de8f61f6353f8b2e56b91d88109ab084de" alt=""><figcaption><p>Ekran mapowania atrybutów Shopware Ergonode Integration</p></figcaption></figure>

Pola wyboru u góry zawierają wszystkie atrybuty, które można mapować między systemami. Wybierz atrybut Shopware i odpowiadający mu atrybut Ergonode, a następnie kliknij ‘Add Mapping’.

{% hint style="info" %}
Możesz wpisywać, aby wyszukać atrybut.
{% endhint %}

<figure><img src="/files/5064a4e392438ccf5dd0e2a470032512202f813d" alt=""><figcaption><p>Ekran mapowania atrybutów Shopware Ergonode Integration - wyszukiwanie przez wpisywanie</p></figcaption></figure>

Najnowsze mapowania wyświetlane są na górze listy.

{% hint style="info" %}
Zwróć uwagę, że typy atrybutów muszą być mapowane odpowiednio. Zgodność typów atrybutów jest kluczowa dla poprawnego mapowania. Typy atrybutów, które można mapować razem, są wyświetlone w nawiasach obok nazwy atrybutu.

Oznacza to, że przy wyborze atrybutów do mapowania należy upewnić się, że typy atrybutów Shopware i odpowiadającego im atrybutu Ergonode są zgodne, jak wskazano. Ten krok jest niezbędny do zapewnienia prawidłowego działania mapowania atrybutów i procesu synchronizacji. Nieprawidłowe mapowanie typów atrybutów może prowadzić do błędów lub nieoczekiwanego zachowania.
{% endhint %}

{% hint style="info" %}
Zwróć uwagę, że mapowanie wielu atrybutów Ergonode do jednego atrybutu Shopware nie jest możliwe. Natomiast mapowanie jednego atrybutu Ergonode do wielu atrybutów Shopware jest dozwolone.
{% endhint %}

Aby edytować mapowanie, po prostu usuń je i dodaj pożądane mapowanie.

<figure><img src="/files/8992b520e3eb22ca8ab7c878b7066a1b18ffb58e" alt=""><figcaption><p>Ekran mapowania atrybutów Shopware Ergonode Integration - usuń mapowanie</p></figcaption></figure>

#### Aktualnie dozwolone mapowania dla każdego typu atrybutu:

{% hint style="info" %}
Ponieważ Ergonode nie posiada atrybutu typu bool, należy zastosować obejście, aby je zmapować. Informacje, jak to zrobić, znajdują się dalej w tym artykule.
{% endhint %}

| Atrybut Shopware            | Typ(y) atrybutu w Ergonode |
| --------------------------- | -------------------------- |
| Active                      | select (bool)              |
| Name                        | text / textarea / select   |
| Price (net)                 | numeric / price            |
| Price (gross)               | numeric / price            |
| Tax rate                    | numeric                    |
| Stock                       | numeric                    |
| Media                       | gallery                    |
| GTIN / EAN                  | text / textarea / select   |
| Manufacturer product number | text / textarea / select   |
| Manufacturer                | select                     |
| Weight                      | numeric / unit             |
| Height                      | numeric / unit             |
| Width                       | numeric / unit             |
| Length                      | numeric / unit             |
| Custom search terms         | multiselect                |
| Opis                        | text / textarea            |
| Meta title                  | text / textarea / select   |
| Meta description            | text / textarea / select   |
| SEO keywords                | text / textarea / select   |
| Purchase steps              | numeric                    |
| Max. order quantity         | numeric                    |
| Min. order quantity         | numeric                    |
| Pack unit                   | text / textarea / select   |
| Pack unit plural            | text / textarea / select   |
| Selling unit                | numeric                    |
| Basic unit                  | numeric                    |
| On clearance sale           | select (bool)              |
| Free shipping               | select (bool)              |
| Restock time                | numeric                    |
| Highlight product           | select (bool)              |
| Delivery time               | select                     |
| Scale unit                  | select                     |

{% hint style="warning" %}
Ostrzeżenie: Informujemy, że w obecnej wersji wtyczki przy mapowaniu właściwości na atrybuty typu select w Ergonode wartości opcji select są wyświetlane jako ich kod systemowy, jeśli tłumaczenia nie są dostępne. Dlatego należy zachować szczególną ostrożność przy konfigurowaniu tego rodzaju mapowania.
{% endhint %}

{% hint style="warning" %}
Ostrzeżenie 2: Właściwości Shopware w mapperze są wyświetlane jako ich przetłumaczone nazwy, aby odpowiadać nazewnictwu pól w panelu administracyjnym.
{% endhint %}

### Mapowania pól własnych Shopware

Analogicznie do właściwości, możliwe jest mapowanie pól własnych Shopware na atrybuty Ergonode.

{% hint style="info" %}
Funkcja ta różni się od pola „Ergonode attributes as custom fields” w konfiguracji wtyczki. Wtyczka umożliwia wybór atrybutów Ergonode, które zostaną zaimportowane do Shopware jako nowe pola własne (w ramach nowo utworzonego zestawu ‘Ergonode Custom Fields’). Funkcja opisana w tej sekcji umożliwia rzeczywiste mapowanie istniejących pól własnych do konkretnych atrybutów Ergonode.
{% endhint %}

Konfigurację tego mapowania można wykonać, przechodząc do ‘*Settings -> Ergonode Integration -> Custom Fields Mappings*’.&#x20;

<figure><img src="/files/44dbd7f2f04214346c2405e6aed5ebe0d5004ac9" alt=""><figcaption><p>Ekran mapowania pól własnych Shopware Ergonode Integration</p></figcaption></figure>

Proces konfiguracji jest analogiczny do mapowania atrybutów. Najpierw wybierz pole własne z menu ‘*Shopware Custom Field*’, a następnie odpowiedni atrybut Ergonode w polu ‘*Ergonode Attribute*’. Kliknij ‘*Add Mapping*’, a mapowanie pojawi się na liście poniżej.

Wymagania stosowane do atrybutów dotyczą także pól własnych Shopware przy mapowaniu ich z atrybutem select Ergonode.

Po więcej szczegółów odwołaj się do sekcji ‘*Krok 5: Mapowanie -> Select (Boolean) Fields’.*"

### Mapowania kategorii

Użytkownicy mają możliwość dopasowania istniejących kategorii w Shopware do tych pochodzących z Ergonode.

Konfigurację tego mapowania można wykonać, przechodząc do ‘*Settings -> Ergonode Integration -> Category Mappings*’.&#x20;

<figure><img src="/files/8871ea48e71953d8d2ed1022e942af23cf7df8f6" alt=""><figcaption><p>Ekran mapowania kategorii Shopware Ergonode Integration</p></figcaption></figure>

Aby powiązać kategorie między systemami, wybierz kategorię z menu ‘Shopware Category’, a następnie kategorię z menu ‘Ergonode Category’. Podczas synchronizacji kategoria w Shopware odziedziczy pewne dane z Ergonode (np. tłumaczenia, lokalizację w drzewie), zachowując jednocześnie swoje istniejące dane.

Oznacza to, że jeśli kategoria ma przypisany layout lub wypełnione pola własne, te elementy zostaną zachowane i nie zostaną usunięte ani nadpisane.

Jeśli chcesz przerwać mapowanie kategorii i przywrócić je do oddzielnych bytach, po prostu usuń mapowanie. Spowoduje to ponowne wprowadzenie każdej kategorii z Ergonode, wcześniej zmapowanej z tą w Shopware, jako nowej, niezależnej encji. Przyszłe zmiany tej kategorii nie wpłyną na wcześniej zmapowaną kategorię Shopware.

{% hint style="info" %}
Zaleca się uruchomienie zadania ‘Synchronize all’ po zakończeniu konfiguracji.
{% endhint %}

### Mapowania atrybutów kategorii

{% hint style="warning" %}
Aby umożliwić wykorzystanie mapowań atrybutów Ergonode do zasilenia atrybutów kategorii, należy najpierw skonfigurować synchronizację kategorii.
{% endhint %}

{% hint style="info" %}
Atrybuty kategorii są dodawane do istniejących kategorii w Shopware.
{% endhint %}

{% hint style="danger" %}
Jeśli utworzysz mapowanie i nie wypełnisz wartości w Ergonode - synchronizacja atrybutów kategorii wyzeruje wszystkie zmapowane wartości!
{% endhint %}

{% hint style="info" %}
Zanim atrybuty kategorii będą mogły być używane w Shopware, muszą zostać [utworzone i wypełnione w Ergonode](/ergonode-user-manual-pl/struktura-produktu/atrybuty-kategorii.md).&#x20;
{% endhint %}

{% hint style="info" %}
Pamiętaj, że nie musisz mapować wszystkich atrybutów. Dodaj tylko te, których będziesz używać. Możesz dodać pola w Ergonode i zmapować je później w Shopware, gdy Twoje dane będą gotowe.
{% endhint %}

Konfigurację tego mapowania można wykonać, przechodząc do ‘*Settings -> Ergonode Integration -> Category attribute mappings*’.&#x20;

<figure><img src="/files/aafd780e7cf39698f02de7b074919bd7e2f334a4" alt=""><figcaption><p>Ekran mapowania atrybutów kategorii Shopware Ergonode Integration</p></figcaption></figure>

Mapowanie tutaj działa dokładnie tak jak mapowanie w category mappings.

### Instrukcja, jak mapować kategorie według regionu:

#### Zakładka General

<figure><img src="/files/ceb090a7777a0c32c305252dba9fe9d148ee56ef" alt=""><figcaption><p>Strona ustawień kategorii Shopware - zakładka General</p></figcaption></figure>

Pola na bieżącym widoku: ● Name ● Active ● Tags ● Category Type&#x20;

* **Name**&#x20;

Mapowane w synchronizacji kategorii.

* **Active**&#x20;

Pole typu boolean to przełącznik, który pozwala kontrolować, czy kategoria jest widoczna na frontendzie. Gdy kategoria jest nieaktywna, nie jest wyświetlana w menu nawigacji ani na stronach produktów i nie jest dostępna dla klientów.&#x20;

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="512"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>select </td></tr><tr><td>Kod atrybutu</td><td>category_active</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr><tr><td>Opcje atrybutu</td><td>1 | 0</td></tr></tbody></table>

{% hint style="danger" %}
Nie dodawaj tłumaczeń do tych opcji atrybutu!
{% endhint %}

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

* **Tagi**

Tagi pozwalają przechowywać słowa kluczowe dla produktów, kategorii, mediów, klientów, zamówień, metod wysyłki, odbiorców newslettera, landing pages lub reguł. Te słowa kluczowe można następnie wykorzystywać np. w regułach z Rule Builder. Dzięki temu przeglądowi możesz bezpośrednio przeglądać i zarządzać wszystkimi utworzonymi tagami.

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>multiselect</td></tr><tr><td>Kod atrybutu</td><td>category_tags</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr><tr><td>Opcje atrybutu</td><td>kody, które będą nazwami tagów</td></tr></tbody></table>

{% hint style="danger" %}
Nie dodawaj tłumaczeń do tych opcji atrybutu!
{% endhint %}

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

* Typ kategorii

Shopware pozwala ustawić 3 wartości: Page / List, Structuring element / Entry point, Link&#x20;

**Kategoria Page/List:** Ten typ kategorii służy jako samodzielna strona docelowa dla określonej grupy produktów, promocji lub kampanii marketingowej. Jest podobny do istniejącej Landing Page Category, ale daje bardziej szczegółową kontrolę nad zawartością i układem strony.&#x20;

**Kategoria Structuring Element/Entry Point**: Ten typ kategorii służy głównie do strukturyzowania katalogu produktów i zapewnienia czytelnej ścieżki nawigacyjnej dla klientów. Jest podobny do istniejącej Navigation Category, ale oferuje więcej opcji dostosowywania wyglądu i zachowania kategorii.&#x20;

**Kategoria Link**: Ten typ kategorii pełni funkcję bezpośredniego linku do konkretnego produktu, strony lub zewnętrznego URL. Jest podobny do istniejącej encji Link w Shopware, ale teraz jest zintegrowany z systemem zarządzania kategoriami.

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>select</td></tr><tr><td>Kod atrybutu</td><td>category_tags</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr><tr><td>Opcje atrybutu</td><td>pages | folder| link</td></tr></tbody></table>

{% hint style="danger" %}
Nie dodawaj tłumaczeń do tych opcji atrybutu!
{% endhint %}

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

####

#### General - Menu settings

{% hint style="info" %}
Wyświetla się, gdy typ strony ustawiony jest na „Page / List”
{% endhint %}

<figure><img src="/files/cb21efe8e51c1bcd4234d55ba240e0317d544f28" alt=""><figcaption><p>Strona ustawień kategorii Shopware - zakładka General - ustawienia menu</p></figcaption></figure>

Pola na bieżącym widoku: ● Hide in navigation ● Display image ● Description

* Ukryj w nawigacji

Pozwala ukryć kategorię i jej węzły w nawigacji.

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>select</td></tr><tr><td>Kod atrybutu</td><td>category_hide_in_navigation</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr><tr><td>Opcje atrybutu</td><td>1 | 0</td></tr></tbody></table>

{% hint style="danger" %}
Nie dodawaj tłumaczeń do tych opcji atrybutu!
{% endhint %}

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

* Wyświetl obraz

Obraz używany w niektórych szablonach, które pozwalają wyświetlać obrazy dla kategorii.

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>image</td></tr><tr><td>Kod atrybutu</td><td>category_media</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr></tbody></table>

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

* Opis

Niektóre szablony pozwalają na wyświetlanie opisów dla kategorii.

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>textarea</td></tr><tr><td>Kod atrybutu</td><td>category_description</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr></tbody></table>

{% hint style="danger" %}
Nie dodawaj tłumaczeń do tej wartości atrybutu!
{% endhint %}

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

#### General - Customisable link

Wyświetla się, gdy typ strony ustawiony jest na „Link”

<figure><img src="/files/c683081587645f6d2c7ba9bd53852675460c05d1" alt=""><figcaption><p>Strona ustawień kategorii Shopware - zakładka General - ustawienia linku</p></figcaption></figure>

Pola na bieżącym widoku (dla Link type = External): ● Link type ● Link destination (External link) ● Open in a new tab

Pola na bieżącym widoku (dla Link type = Internal): ● Link type (Internal) ● Entity (Internal Link types) ● Internal link (Category, Product, Landing Page) ● Open in a new tab

* **Typ linku**

Pozwala zdecydować, jaki typ linku będzie użyty.

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>select</td></tr><tr><td>Kod atrybutu</td><td>category_link_type</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr><tr><td>Opcje atrybutu</td><td>external | category | landing_page | product</td></tr></tbody></table>

{% hint style="danger" %}
Nie dodawaj tłumaczeń do tych opcji atrybutu!
{% endhint %}

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

* **Link zewnętrzny**

URL do zasobów spoza Shopware.

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>text</td></tr><tr><td>Kod atrybutu</td><td>category_external_link</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr></tbody></table>

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

* **Dane linku wewnętrznego**

URL do zasobów spoza Shopware.

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>text</td></tr><tr><td>Kod atrybutu</td><td>category_internal_link</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr></tbody></table>

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

* **Otwórz w nowej karcie**

Pozwala otworzyć link w nowej karcie zamiast w bieżącym oknie

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>select</td></tr><tr><td>Kod atrybutu</td><td>category_link_new_tab</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr><tr><td>Opcje atrybutu</td><td>1 | 0</td></tr></tbody></table>

{% hint style="danger" %}
Nie dodawaj tłumaczeń do tych opcji atrybutu!
{% endhint %}

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

#### Zakładka Seo

<figure><img src="/files/7169ff16b9bc211f904b0c32bf8cf7439a3397e1" alt=""><figcaption><p>Strona ustawień kategorii Shopware - zakładka seo</p></figcaption></figure>

Pola na bieżącym widoku: ● Meta title ● Meta Description ● Keywords

* **Meta title**

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>text</td></tr><tr><td>Kod atrybutu</td><td>category_seo_meta_title</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr></tbody></table>

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

* **Meta Description**

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>textarea</td></tr><tr><td>Kod atrybutu</td><td>category_seo_meta_title</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr></tbody></table>

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

* **Słowa kluczowe**

Jeśli chcesz użyć tego pola w mapowaniu, dodaj nowy atrybut w Ergonode z następującymi parametrami:

<table data-header-hidden><thead><tr><th width="453"></th><th></th></tr></thead><tbody><tr><td>Typ atrybutu</td><td>text</td></tr><tr><td>Kod atrybutu</td><td>category_seo_keywords</td></tr><tr><td>Zakres atrybutu</td><td>global</td></tr><tr><td>Grupa atrybutów</td><td>category_attributes</td></tr></tbody></table>

{% hint style="info" %}
Po utworzeniu nie zapomnij dodać tego atrybutu jako atrybutu kategorii, inaczej nie pojawi się w mapperze.
{% endhint %}

## Krok 6: Synchronizacja

Konfigurację tego mapowania można wykonać, przechodząc do ‘*Settings -> Ergonode Integration -> Synchronization*’.&#x20;

<figure><img src="/files/b5fc729663c60dfc874e807009a95e31a2ea6e07" alt=""><figcaption><p>Ekran synchronizacji Shopware Ergonode Integration</p></figcaption></figure>

* **Synchronizuj najnowsze zmiany**: Ta operacja uruchamia wszystkie zadania synchronizacji, przetwarzając najnowsze modyfikacje produktów oraz pełne dane innych encji, takich jak atrybuty i kategorie. Po każdym wykonaniu kursory Ergonode są zachowywane, aby kolejny przebieg zaczynał się od bieżącego stanu, co oznacza, że przetwarzane będą tylko zmiany dokonane od tego momentu.
* **Synchronizuj wszystko**: Ta operacja synchronizuje WSZYSTKIE encje z Ergonode. Rozpoczyna od wyczyszczenia zapisanych kursorów Ergonode, aby pobrać wszystkie encje, a nie tylko najnowsze zmiany, a następnie uruchamia wszystkie zadania synchronizacji. Postęp synchronizacji można monitorować na karcie ‘Import history’.

#### Zadania zaplanowane

Proces synchronizacji podzielony jest na kilka zaplanowanych zadań. Interwały tych zadań można zmienić w konfiguracji wtyczki. Aby to zrobić, przejdź do Configuration -> Plugin config -> Scheduler, gdzie znajdziesz więcej szczegółów.&#x20;

Zadania, w poprawnej kolejności, są następujące:

* LanguageSync
* AttributeSync
* CategorySync
* ProductSync
* ProductVisibilitySync
* DeletedProductSync
* DeletedAttributeSync

### Szczegóły synchronizacji

#### Kategorie

Pamiętaj, że każda kategoria usunięta w Ergonode zostanie również usunięta z Shopware podczas CategorySync.

#### Grupy właściwości

Wszystkie Atrybuty Ergonode typu ‘select’ lub ‘multi-select’ są przesyłane do Shopware jako właściwości (nazywane Shopware Property Groups), a ich opcje są przesyłane jako opcje właściwości (Shopware Property Group Options).

#### Pola własne

Wszystkie Atrybuty Ergonode oznaczone jako Pola Własne w konfiguracji wtyczki są przesyłane do Shopware jako Pola Własne Produktu. Dodatkowo istniejące pola własne można mapować z atrybutami Ergonode w taki sam sposób jak zwykłe właściwości. Aby uzyskać więcej informacji, zobacz sekcję Attribute Mappings. Wszelkie niemapowane pola własne są przesyłane z Ergonode i tworzone jako nowe wpisy w Shopware. Zobacz tabelę Matching Types poniżej po więcej szczegółów.

| Data               | Nie wysyłaj, jeśli nie zmapowane |
| ------------------ | -------------------------------- |
| Plik               | Nie wysyłaj, jeśli nie zmapowane |
| Galeria            | Nie wysyłaj, jeśli nie zmapowane |
| Obraz              | Nie wysyłaj, jeśli nie zmapowane |
| Lista wyboru       | Wyślij jako właściwość           |
| Numeryczny         | Nie wysyłaj, jeśli nie zmapowane |
| Cena               | Nie wysyłaj, jeśli nie zmapowane |
| Relacje produktowe | Nie wysyłaj, jeśli nie zmapowane |
| Pole wyboru        | Wyślij jako właściwość           |
| Tekst              | Nie wysyłaj, jeśli nie zmapowane |
| Pole tekstowe      | Nie wysyłaj, jeśli nie zmapowane |
| Jednostka          | Nie wysyłaj, jeśli nie zmapowane |

**Ograniczenia Shopware**: Atrybuty typu ‘gallery’ lub ‘file’ mają pewne ograniczenia. W Ergonode te pola mogą zawierać wiele jednostek, podczas gdy odpowiadające im typy pól własnych w Shopware mogą obsługiwać tylko pojedynczą jednostkę na pole. W związku z tym podczas przesyłania tych pól do Shopware ich wartości ograniczone są do pierwszej jednostki. Przykład: jeśli w atrybucie typu file w Ergonode masz listę plików, tylko pierwszy z nich zostanie przesłany do Shopware.

#### Media produktu

Aby włączyć synchronizację Media Produktu (np. zdjęć produktów) z Ergonode do Shopware, administrator musi zmapować pole mediów Shopware z atrybutem Ergonode typu ‘gallery’.

#### Product Cross Selling

{% hint style="info" %}
Synchronizacja relacji produktów zadziała tylko wtedy, gdy produkt, do którego się odwołujesz, jest albo zawarty w segmencie importowanym dla tego kanału sprzedaży, albo jest już obecny w tym kanale sprzedaży w Shopware.
{% endhint %}

Wszystkie Atrybuty Relacji Produktów Ergonode oznaczone jako Cross Selling w konfiguracji wtyczki będą używane do tworzenia Cross-Selling podczas Product Sync. System zidentyfikuje wartości z Atrybutów Ergonode i wygeneruje oddzielną kolekcję Cross-Selling dla każdego zidentyfikowanego atrybutu. Nazwy atrybutów zdefiniowane w Ergonode będą używane jako nazwy kolekcji Cross-Selling i będą wyświetlane w sklepie Shopware.

**Ograniczenia Shopware**: Shopware pozwala utworzyć Cross-Selling tylko dla produktu głównego. Tworzenie Cross-Selling dla wariantów zostanie zignorowane.

Dodatkowo Cross-Selling nie jest tłumaczalny w Shopware. Oznacza to, że nawet jeśli zakres (scope) atrybutu relacji produktu w Ergonode jest ustawiony jako lokalny, wartości będą pobierane z domyślnego locale Shopware podczas Product Sync. Dlatego zaleca się ustawienie wszystkich Atrybutów Relacji Produktu w Ergonode jako globalne.

## Krok 7: Historia importu

Wyświetla tabelę ze wszystkimi importami, wywołanymi ręcznie lub przez zadania zaplanowane.

{% hint style="info" %}
Importy trwające dłużej mogą pojawiać się wielokrotnie. Wynika to z faktu, że pojedyncza synchronizacja ma ograniczoną liczbę encji, które może przetworzyć.
{% endhint %}

{% hint style="warning" %}
**WAŻNE**: Dla pełnej widoczności wszystkich szczegółów importu konieczne jest zachowanie plików logów Shopware, szczególnie tych znajdujących się w var/log/ergonode\_integration, na głównym serwerze Shopware. Na przykład, jeśli konsumenci działają na różnych maszynach, logi mogą nie być widoczne w panelu administracyjnym, chyba że są przechowywane na tym samym serwerze Shopware.
{% endhint %}

Konfigurację tego mapowania można wykonać, przechodząc do ‘*Settings -> Ergonode Integration -> Import history*’.&#x20;

<figure><img src="/files/629a77f64b4bd61a69cfd78acecaa42539f88c32" alt=""><figcaption><p>Ekran historii importu Shopware Ergonode Integration</p></figcaption></figure>

Filtry w karcie Import History oferują przyjazny interfejs do usprawnienia wyszukiwania określonych rekordów importu. Składają się z trzech głównych elementów:

1. **Pokaż tylko błędy**: Ta opcja pozwala filtrować historię importu tak, aby wyświetlane były tylko rekordy z błędami. Po zaznaczeniu tego pola system ukryje wszystkie pomyślne rekordy importu i pokaże jedynie te zawierające błędy. Jest to przydatne przy rozwiązywaniu problemów lub audycie procesu importu.
2. **Od**: To selektor daty, który pozwala określić datę początkową wyszukiwania. Po wybraniu daty system wyświetli jedynie rekordy importu od tej daty wzwyż. Jest to użyteczne przy zawężaniu wyszukiwania do konkretnego okresu.
3. **Do**: Podobnie jak pole „From”, to selektor daty pozwala określić datę końcową wyszukiwania. Po wybraniu daty system wyświetli jedynie rekordy importu do tej daty.

<figure><img src="/files/61b7053611aa0f3ddbf24ea57e72d2baf1746d14" alt=""><figcaption><p>Ekran historii importu Shopware Ergonode Integration - rozmieszczenie opcji</p></figcaption></figure>

Każdą synchronizację można oznaczyć jako STARTED lub FINISHED i ma szczegółowy widok. Uzyskasz do niego dostęp, klikając trzy kropki i wybierając ‘Details’.

<figure><img src="/files/910e1c867484b331ec5ce3f2e216722fd21cfc13" alt=""><figcaption><p>Ekran szczegółów historii importu Shopware Ergonode Integration</p></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://usermanual.ergonode.com/ergonode-user-manual-pl/wtyczki/oswiadczenie-o-zastrzezeniu-odpowiedzialnosci/shopware.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
