> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Naprawianie brakujących strzałek karuzeli w module upsell Upcart V1.0

> Ten artykuł wyjaśnia, jak naprawić brakujące strzałki karuzeli w działającym sklepie, gdy pojawiają się one w podglądzie edytora.

<div id="overview">
  # Przegląd
</div>

Jeśli doświadczasz problemu z brakującymi strzałkami karuzeli w module upsell Upcart, zwykle wynika to z problemu kompatybilności z szablonem Twojego sklepu.

Aby to rozwiązać, możesz ręcznie dodać strzałki, stosując dostosowanie za pomocą niestandardowego HTML w ustawieniach edytora Upcart.

**Aby uzyskać dostęp do pól niestandardowego kodu w Upcart:**

**Cart Editor** > **Settings**, następnie zakładki **Custom HTML** i **Custom CSS**. Settings to rząd zakładek — wszystko, co się nie mieści, znajduje się pod **More settings**.

***

<div id="html">
  ## HTML
</div>

Dla tej poprawki otwórz menu rozwijane HTML i wybierz **„Scripts (before load)”**, a następnie wklej do tej sekcji poniższy kod:

```
<script>
  window.upcartSubscribeCartOpened(() => {
    setTimeout(() => {
      // The cart may render inside a shadow root, where document.querySelector
      // cannot reach it. Search the shadow root when there is one.
      const host = document.getElementById('upCart');
      const scope = host?.shadowRoot ?? document;

      const buttonLeft = scope.querySelector('.control-arrow.control-prev');
      if (buttonLeft) buttonLeft.innerText = "<";

      const buttonRight = scope.querySelector('.control-arrow.control-next');
      if (buttonRight) buttonRight.innerText = ">";
    }, 300);
  });
</script>
```

<Warning>
  **Nie używaj tutaj gołego `document.querySelector`.** Upcart renderuje się w shadow root w większości sklepów (to domyślne ustawienie dla nowszych instalacji), a `document.querySelector` nie może do niego zajrzeć — skrypt niczego by nie znalazł i, bez zabezpieczeń `if`, rzuciłby błąd na `null`. Powyższa linia `host?.shadowRoot ?? document` działa w obu przypadkach.
</Warning>

<Note>
  **Uwaga dotycząca starszych wersji:** callbacki `window.upcartOnCartOpened` nadal działają, ale są przestarzałe i logują ostrzeżenia w konsoli. Dla wszystkich nowych skryptów używaj `upcartSubscribeCartOpened`.
</Note>

Oto jak powinny wyglądać Twoje ustawienia Custom HTML w Upcart:

<img src="https://mintcdn.com/aftersell/uVGuDiyXpd6WOLO4/images/upcart/upsell-carousel-arrows-custom-html-script.gif?s=56a99321312a0b59c77d3ce059a72dbb" alt="Ustawienia Custom HTML w Upcart ze skryptem strzałek karuzeli w Scripts Before Load" width="2052" height="1080" data-path="images/upcart/upsell-carousel-arrows-custom-html-script.gif" />

<div id="css">
  ## CSS
</div>

Jeśli nadal masz problemy z pozycją strzałek karuzeli, spróbuj zastosować następującą poprawkę CSS:

```
.carousel.carousel-slider .control-next {  
  right: -34px !important;  
}
```

***

<div id="explanation">
  ## Wyjaśnienie
</div>

Często używamy pseudoelementów CSS (`::before`) zawartych wewnątrz przycisków do wyświetlania strzałek karuzeli. Jednak niektóre szablony sklepów blokują renderowanie pseudoelementów, co powoduje znikanie strzałek karuzeli z koszyka wysuwanego.

Tworzy to problem, w którym strzałki karuzeli upsell pojawiają się poprawnie w podglądzie edytora, ale nie w faktycznie działającym sklepie.
