Následující informace jsou určeny především pro programátory v PHP a SQL, kterým usnadní export dat z eshopu, magazínu či webu, pro našeptávače DataAPPs.
Jednoduchou PHP knihovnu (třídu) s níže uvedeným příkladem implementace exportu dat pro našeptávač lze stáhnout jako ZIP soubor pomocí tohoto odkazu: PHP knihovna a příklad exportu dat pro našeptávač (ZIP soubor)
Uvedený příklad exportu dat pro našeptávače DataAPPs využívá již zmíněnou PHP knihovnu (viz. odkaz ke stažení výše). PHP třída FeedGenerator pro export XML dat získává data z databáze MySQL (Maria DB), a to provedením jednoduchého SQL dotazu na databázi pomocí standatrdního PDO objektu (PHP Data Objects).
Postupné kroky pro implementaci PHP knihovny (třídy FeedGenerator) jsou popsány v kódu níže:
<?php /** * * DataAPPs FTSS XML Feed Generator * * Ukazka vygenerovani XML feedu pro DataAPPs naseptavace pomoci * jednoduche tridy a dat ziskanych z databaze pomoci PDO a SQL * */ /** * Nacteme tridu FeedGenerator (pokud nepouzivate php class autoloading) */ require_once( dirname(__FILE__) . "/vendor/FTSS/Exporter/FeedGenerator.php" ); /** * Instance PDO pro provedeni SQL dotazu a ziskani dat z DB * TODO: Upravte dle vaseho databazoveho pripojeni nebo pouzijte PDO objekt z vaseho systemu */ $pdoDB = new PDO( "mysql:host=localhost;dbname=...database...;charset=UTF8" , "...user..." , "...password..." , array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8" , PDO::ATTR_TIMEOUT => 20 ) ); /** * Pole promennych k predani do SQL dotazu, nebo null */ $sqlVars = null; // array( ':test' => "Test" ); /** * SQL dotaz pro ziskani dat z databaze pomoci PDO * TODO: Doplnit realne datove sloupce a nazev tabulky */ $sqlQuery = " SELECT DISTINCT product.`id` AS 'id' , 'product' AS 'type' , product.`code` AS 'code' , product.`title` AS 'title' , product.`keywords` AS 'keywords' , product.`brand` AS 'brand' , product.`similar` AS 'similar' , product.`url` AS 'url' , product.`img` AS 'img' , product.`price` AS 'price' , product.`priority` AS 'priority' , product.`flag` AS 'flag' FROM `nazev_databazove_tabulky` AS product LIMIT 50000 "; /** * Inicializujeme PDO databazi */ $isInit = FTSS\Exporter\FeedGenerator::initPDO($pdoDB); /** * Provedeni SQL dotazu a ziskame data */ $resultData = FTSS\Exporter\FeedGenerator::execSQL($sqlQuery, $sqlVars); /** * Pokud byl SQL dotaz proveden korektne a mame data */ if (is_array($resultData) && !empty($resultData)) { /** * Vygenerujeme DataAPPs FTSS XML feed s daty z databaze */ $outputXML = FTSS\Exporter\FeedGenerator::buildXML( $resultData ); } /** * Resetujeme generator */ FTSS\Exporter\FeedGenerator::reset(); /** * Odesleme XML data s HTTP hlavickou do vystupu */ header("Content-Type: application/xml; charset=UTF-8"); print($outputXML); /** * Slusne odstranime promenne a ukoncime script */ unset($pdoDB, $sqlQuery, $sqlVars, $resultData, $outputXML); exit(); ?>
Příkladový PHP kód již vyžaduje jen drobné úpravy dle vašeho systému (nastavení připojení k databázi a definici SQL dotazu pro získání exportovaných dat). Výstupem PHP jsou pak validní XML data, která je možné použít jako zdroj pro import dat do našeptávačů Data APPs.