Jak pominąć wiersze w bloku tabeli dynamicznej
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:
- Otwierający znacznik if ,
{% if ... %}, wskazujący, które elementy powinny pojawić się w bloku tabeli. - Treści, takie jak znacznik obrazu lub tekst o produkcie.
- 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.
- W obszarze Zawartość komórki dla obrazu bloku tabeli kliknij Zastąp, aby wyświetlić symbol zastępczy obrazu.
- 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.
- Zastąp symbol zastępczy w tym wycinku kodu źródłowego kodem skopiowanym z pola Zmienna dynamiczna lub dynamiczny adres URL.
<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:
<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:
<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) |
|
|
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) |
|
|
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.
- 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.
- Upewnij się, że opcja Zawartość komórki dla obu kolumn nowego bloku tabeli jest ustawiona na Tekst.
- Kliknij </>, aby otworzyć edytor HTML po lewej stronie bloku tabeli.
- Skopiuj wycinek kodu źródłowego obrazu produktu utworzony w poprzedniej sekcji i wklej go do pola HTML.
- Kliknij Gotowe w lewym górnym rogu.
- Przejdź do edytora po prawej stronie bloku tabeli.
- Kliknij </>, aby otworzyć edytor HTML dla prawej strony bloku tabeli.
- 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ść.
- Kliknij Gotowe.
- 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
- 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).
- 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.