Czego się dowiesz?

Dowiedz się, jak pomijać wiersze (np. produkty) w bloku tabeli dynamicznej. Najczęstszy przypadek użycia to ukrywanie nieistotnych pozycji, takich jak ubezpieczenie przesyłki lub darmowe prezenty, w wiadomości e-mail o porzuconym koszyku zakupowym. Możesz jednak wykonać te kroki w przypadku każdej wiadomości e-mail, która używa bloku tabeli dynamicznej.

Ten proces obejmuje bezpośrednią edycję kodu e-maila. Jest to zalecane tylko dla marketerów z wiedzą techniczną lub osób mających dostęp do dewelopera. Nasz zespół pomocy technicznej nie może pomóc w pisaniu niestandardowego kodu poza ogólnymi wskazówkami opisanymi w tej dokumentacji. Aby zapewnić bezpieczeństwo danych, zespół wsparcia Klaviyo nie ma możliwości otwierania plików HTML.

Kilka słów na początek

W tym artykule opisano, jak ukryć elementy w istniejących blokach tabeli dynamicznej. Jeśli nie utworzono jeszcze działającego bloku tabeli dynamicznej (np. produktów w e-mailu porzuconego koszyka zakupowego lub potwierdzeniu zamówienia), dowiedz się, jak utworzyć go od podstaw lub zacznij od wiadomości w naszej bibliotece sekwencji.

Napisz instrukcje if

Zanim wprowadzisz zmiany w szablonie, utwórz 2 wycinki kodu źródłowego za pomocą edytora tekstu lub kodu (w miejscu, z którego później będzie można skopiować i wkleić wycinki). Każdy wycinek kodu źródłowego będzie składać się z 3 części:

  1. Otwierający znacznik if , {% if ... %}, wskazujący, które elementy powinny pojawić się w bloku tabeli.
  2. Treści, takie jak znacznik obrazu lub tekst o produkcie.
  3. Znacznik zamykający, {% endif %}.

Utwórz początkowy if znacznik

Oto kilka przykładów otwierających znaczników if:

Znacznik

Znaczenie

{% if item.price != 0 %}

Jeśli cena elementu (item.price) jest inna niż 0.

{% if item.product.name != "Route Shipping Insurance" %}

Jeśli nazwa elementu (item.product.name) jest dowolna inna niż „Route Shipping Insurance.”

{% if not "T-Shirt" in item.product.title %}

Jeśli tytuł elementu (item.product.title) nie zawiera „T-Shirt”.

{% if item.title %}

Jeśli tytuł elementu (item.title) jest ustawiony (tj. ma dowolną wartość).

Te znaczniki uwzględniają wielkość liter i muszą dokładnie odpowiadać Twoim danym. Na przykład, jeśli zmienna ceny produktu to coś innego niż item.price (np. item.Price lub item.details.line_price), zaktualizuj kod tak, aby odpowiadał źródłu danych.

Utwórz treść dla instrukcji if

W przypadku treści wykonaj te kroki, aby użyć istniejącej treści z bloku tabeli dynamicznej. Wpisz ten wycinek kodu źródłowego w edytorze kodu lub tekstu; dodasz go do szablonu w następnej sekcji.

  1. W obszarze Zawartość komórki dla obrazu bloku tabeli kliknij Zastąp, aby wyświetlić symbol zastępczy obrazu.
Replace cell content button.jpg
Replace cell content button.jpg
  1. Skopiuj cały kod z pola Zmienna dynamiczna lub dynamiczny adres URL. Pamiętaj, że może to być prosta zmienna dynamiczna albo dłuższy wycinek kodu źródłowego; skopiuj wszystko, niezależnie od długości.
Abandoned cart product image variable.jpg
Abandoned cart product image variable.jpg
  1. Zastąp symbol zastępczy w tym wycinku kodu źródłowego kodem skopiowanym z pola Zmienna dynamiczna lub dynamiczny adres URL.
text
<img src="PLACEHOLDER" style="width: 200px; height: auto;" width="200">

Jeśli w istniejącym bloku tabeli obraz jest ustawiony za pomocą prostej zmiennej dynamicznej, wynikowa zawartość będzie wyglądać mniej więcej tak:

text
<img src="{{item.product.variant.images.0.src}}" style="width: 200px; height: auto;" width="200">  

Jeśli istniejący blok tabeli zawiera dłuższy wycinek kodu źródłowego, wynikowa zawartość może wyglądać tak:

text
<img src="{% if item.product.variant.images.0.src %}{{item.product.variant.images.0.src}}{%else%}{{item.product.images.0.src|missing_product_image}}{%endif%}" style="width: 200px; height: auto;" width="200">

Dodaj znacznik zamykający

Następnie połącz całą treść: początkową instrukcję if, potem treść, a na końcu zamykający znacznik {% endif %}.

Powtórz dla zawartości tekstu

Następnie powtórz ten proces dla zawartości z prawej strony bloku tabeli (np. zawartości tekstowej). Kliknij </>, aby otworzyć edytor kodu i skopiować całą zawartość HTML, a następnie owiń tę zawartość w tę samą instrukcję if (kroki 1 i 3), której użyto dla zawartości obrazu.

Oto jak wygląda wszystko razem:

Wycinek kodu źródłowego 1 (obraz produktu)

Wycinek kodu źródłowego 2 (szczegóły produktu)

{% if item.product.name != "Route Shipping Insurance" %}
<img src="{% if item.product.variant.images.0.src %}
{{item.product.variant.images.0.src}}{%else%}
{{item.product.images.0.src|missing_product_image}}
{%endif%}"style="width: 200px; height: auto;" width="200">
{% endif %}

{% if item.product.name != "Route Shipping Insurance" %}
<h3><a href="{{ organization.url }}products/{{ item.product.url }}">
   {{ item.product.name }}
</a></h3>
<p>
   Quantity: {{ item.quantity|floatformat:0 }} —
   Total: {% currency_format item.line_price|floatformat:2 %}
</p>
{% endif %}

A oto zestawienie tych wycinków kodu źródłowego:

Wycinek kodu źródłowego 1 (obraz produktu)

Wycinek kodu źródłowego 2 (szczegóły produktu)

{% if CRITERIA %}
   IMAGE PLACEHOLDER CONTENT
{% endif %}

{% if CRITERIA %}
   PRODUCT DESCRIPTION
{% endif %}

Korzystając z tych wycinków kodu źródłowego, upewnij się, że używasz prostych cudzysłowów ("), a nie cudzysłowów drukarskich (“), aby kod renderował się poprawnie.

Gdy napiszesz oba wycinki kodu źródłowego, kontynuuj w edytorze szablonów, wykonując poniższe kroki.

Pomiń wiersze w bloku tabeli dynamicznej

Zanim zaczniesz edytować blok tabeli dynamicznej, rozważ zapisanie oryginalnego bloku jako treści uniwersalnych, na wypadek gdyby trzeba było się do niego odwołać w przyszłych wiadomościach. Następnie odłącz blok i edytuj go osobno, aby Twoje zmiany nie zostały zapisane w bloku treści uniwersalnych.

  1. Jeśli e-mail jest częścią sekwencji, ustaw go na Wersja robocza lub Ręcznie, aby wiadomości nie były wysyłane podczas edytowania wiadomości w sekwencji.
  2. Upewnij się, że opcja Zawartość komórki dla obu kolumn nowego bloku tabeli jest ustawiona na Tekst.
  1. Kliknij </>, aby otworzyć edytor HTML po lewej stronie bloku tabeli.
  2. Skopiuj wycinek kodu źródłowego obrazu produktu utworzony w poprzedniej sekcji i wklej go do pola HTML.
  1. Kliknij Gotowe w lewym górnym rogu.
  2. Przejdź do edytora po prawej stronie bloku tabeli.
  3. Kliknij </>, aby otworzyć edytor HTML dla prawej strony bloku tabeli.
  4. Skopiuj wycinek kodu źródłowego szczegółów produktu utworzony w poprzedniej sekcji i wklej go do pola HTML, zastępując całą wcześniejszą zawartość.
  5. Kliknij Gotowe.
  6. Wyświetl podgląd e-maila, aby upewnić się, że wygląda zgodnie z oczekiwaniami: pominięty element nie powinien się pojawić, ale wszystkie pozostałe elementy będą wyświetlać się normalnie. Pamiętaj, aby wyświetlić podgląd z użyciem zdarzenia zawierającego element, który chcesz ukryć, aby mieć pewność, że jest ukryty.

Instrukcje warunkowe a wbudowany edytor tekstu

Po dodaniu do bloku tekstowego określonych instrukcji warunkowych mogą one zniknąć z wbudowanego edytora tekstu. Kod nadal będzie obecny – po prostu pozostanie ukryty. Aby wyświetlać i edytować instrukcje warunkowe, użyj narzędzia Django Tag Builder lub przenieś treść do dedykowanego bloku HTML, aby edytować kod bezpośrednio.

Poniższe znaczniki nie pojawiają się w edytorze tekstu wstawianego, ale pozostają w bloku tekstu:

  • {% for ... %}
  • {% endfor %}
  • {% if ... %}
  • {% elif ... %}
  • {% else %}
  • {% endif %}
  • {% with ... %}
  • {% endwith %}

Rozwiązywanie problemów

W podglądzie nie wyświetlają się żadne elementy

  1. Upewnij się, że wyświetlasz podgląd z użyciem zdarzenia, które odpowiada użytemu źródłu danych (np. Rozpoczęto realizację zakupu w przypadku wiadomości o porzuconym koszyku zakupowym).
  2. Upewnij się, że Repeat for i Row alias dokładnie odpowiadają Row collection i Row alias z oryginalnego bloku.

Element, który powinien zostać pominięty, nadal się wyświetla

Sprawdź pisownię i wielkość liter w instrukcji if. Jeśli produkt nadal się wyświetla, oznacza to, że spełnia kryteria w instrukcji if, więc instrukcja if nie jest skonfigurowana poprawnie. Dowiedz się więcej o logice warunkowej w szablonach.

Rezultat

Po wykonaniu tych kroków wszystkie elementy, które nie spełniają kryteriów w instrukcji if, nie będą wyświetlać się w wiadomościach, takich jak e-maile dotyczące porzuconego koszyka zakupowego lub potwierdzenia zamówienia. 

Czy ten artykuł był pomocny?
Ten formularz służy tylko do przesyłania opinii na temat artykułów. Dowiedz się, jak skontaktować się z zespołem ds. pomocy.

Dowiedz się od Klaviyo więcej

Społeczność
Nawiązuj kontakty z osobami na podobnych stanowiskach, partnerami oraz ekspertami i ekspertkami Klaviyo – inspirujcie się nawzajem, wymieniajcie spostrzeżeniami i pomagajcie szukać odpowiedzi na nurtujące Was pytania.
Partnerzy
Zatrudnij certyfikowanego eksperta Klaviyo, który pomoże Ci w konkretnym zadaniu lub w ciągłym zarządzaniu marketingiem.
Pomoc

Uzyskaj wsparcie za pośrednictwem konta.

E-mail do zespołu ds. pomocy (konta w bezpłatnym okresie próbnym oraz konta płatne) Całodobowa dostępność

Czat/wirtualna pomoc
Dostępność różni się w–zależności od lokalizacji i typu planu.