Co je to datový feed?
Datový feed je podobný tomu produktovému, který má dnes většina e-shopů skrze Heureku, Zbozi.cz apod. Jedná se tedy o soubor typu XML, který je strukturovaný a psaný podle určitých pravidel.
Produktový feed obsahuje data (název, popis produktu, url obrázku apod.), která jsou v předem stanovené struktuře dané služby. Datový feed je trochu odlišný, protože nejsou stanovená pravidla pro to, co má obsahovat. Nabízí tak velký potenciál užití v praxi.
Povinné pole:
<data></data> - celý xml dokument
<item></item> - na každou položku/jednotku
Jako příklad můžeme uvést jednoduchý datový feed:
<?xml version="1.0" encoding="utf-8"?>
<data>
<item>
<email>prvni@email.com</email>
<recommendations>Doporučení 1</recommendations>
</item>
<item>
<email>druhy@email.com</email>
<recommendations>Doporučení 2</recommendations>
</item>
<item>
<email>treti@email.com</email>
<recommendations>Doporučení 3</recommendations>
</item>
</data>
Tento feed má dva prvky:
první je <email>
a druhý <recommendations>
Každý prvek má svůj obsah (např. Doporučení 1). Pro využití v Ecomailu potřebujeme znát dva prvky - podle kterého prvku budeme identifikovat a který prvek chceme propsat.
Při vložení bloku "Dynamický" v editoru vidíme, že tyto dva prvky zadáváme do polí "Identifikátor dynamického obsahu" (podle kterého prvku identifikujeme) a "Klíč dynamického obsahu" (obsah který chceme propsat).
Identifikátor musí odpovídat obsahu v Ecomailu, pokud tedy chceme identifikovat v datovém feedu pomocí PSČ, musí být u kontaktů vyplněno PSČ.
Může se jednat o:
základní pole
vlastní pole
*|ECM_DATAFEED_108_email_sleva|* - merge tag pro dynamický obsah (pokud nechcete využít obsah Dynamický z nabídky), kde 108 je ID datového feedu, email je identifikátor a sleva klíč dynamického obsahu.
Jak importovat datový feed?
V hlavním menu v záhlaví aplikace vyberte záložku “Další” a zvolte "Datové feedy". Zde přidáte do pole odkaz na datový feed (odkaz na xml soubor, který máte externě nahraný např. na svém webu) a přidání potvrdíte. Následně datový feed synchronizujte pomocí tlačítka a stránku obnovte (synchronizace trvá většinou v řádech sekund, ale pokud je feed objemný, může proces trvat déle).
Praktický příklad využití datového feedu
Pro příklad nám poslouží následující výtržek z datového feedu, který obsahuje dva prvky:
první <zip> - PSČ, podle kterého identifikujeme,
a druhý <branch> prvek, kterého obsah vypíšeme, v tomto případě se jedná o informace o pobočce dle daného PSČ. Tučně je vyznačen text, který se zobrazí koncovému uživateli.
<item>
<zip>70200</zip>
<branch>
<![CDATA[
<table class="nl-w100" width="700" border="0" cellpadding="0" cellspacing="0">
<tr> <td align="center" bgcolor="#FFFFFF"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr>
<td align="center" class="nl-cell nl-pl10 nl-pr10" style="font-family:Open Sans, Arial, sans-serif; font-size:24px; line-height:30px; color:#003d7c;"> KNIHCENTRUM.CZ - Dům knihy </td> </tr> </table>
</td> </tr> </table> <table width="700" class="nl-w100" border="0" cellpadding="0" cellspacing="0">
<tr> <td class="nl-cell nl-pb0 nl-pr0" style="width: 50%; vertical-align:top; padding:0 10px 0 0;">
<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="nl-cell"> <table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr> <td height="20" style="font-size: 1px;line-height: 1px;"></td> </tr>
<tr> <td> <table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr> <td class="nl-cell nl-pl10 nl-pr10" valign="top" style="font-family:Open Sans, Arial, sans-serif; font-size:14px; line-height:17px; color:#848484;">
<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="nl-cell" valign="top" style="font-family:Open Sans, Arial, sans-serif; font-size:14px; font-weight:bold; line-height:17px; color:#848484;">Adresa:</td>
<td style="font-family:Open Sans, Arial, sans-serif; font-size:14px; line-height:19px; color:#848484;">Smetanovo náměstí 222/8,<br />702 00 Moravská Ostrava</td> </tr> <tr> <td height="10" style="font-size: 1px; line-height: 1px;"></td> </tr>
<tr> <td class="nl-cell" style="font-family:Open Sans, Arial, sans-serif; font-size:14px; font-weight:bold; line-height:17px; color:#848484;">Otevírací doba:</td><td style="font-family:Open Sans, Arial, sans-serif; font-size:14px; line-height:19px; color:#848484;"><strong>Po–Ne</strong> 8:00 - 18:00</td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr>
<tr> <td height="20" style="font-size: 1px;line-height: 1px;"></td> </tr> <tr> <td class="nl-cell" align="left"> <table border="0" cellpadding="0" cellspacing="0" class="nl-tac2"> <tr> <td width="210" align="center" bgcolor="#ffffff" height="44" valign="middle" style="font-family:Open Sans, Arial, sans-serif; font-size:18px; font-weight:bold; color:#FFFFFF; padding:0 8px; border: 2px solid #f58220;"> <a target="_blank" href="https://www.knihcentrum.cz/prodejny" style="color:#f58220; text-decoration:none;">Ukázat výdejní místa</a> </td> </tr> </table> </td> </tr> </table> </td>
<td width="10" class="nl-hide"></td> <td class="nl-cell nl-pb0 nl-pl10 nl-pr10" style="width: 50%; vertical-align:top;">
<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td style="padding:20px 0 0;">
<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center"> <a target="_blank" href="https://www.knihcentrum-ostrava.cz/"> <img border="0" src="https://www.knihcentrum.cz/Content/Images/uploaded/prodejny_foto/Knihcentrum_OstravaDK.jpg" style="display: block;" alt="Albrechtice u Českého Těšína, Stonavská" width="360"> </a> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table>
]]>
</branch>
</item>
Výstup tohoto obsahu prvku <branch> vypadá pak takto:
Zasazeno do samotné šablony (co vidí uživatel):
Feed nemusí, jak můžete vidět na této části, obsahovat pouze plain text, může obsahovat i HTML kód. Tím například docílíte naformátování textu do tabulky, aby odpovídal zbytku šablony, nebo vložení obrázku.