Creare un catalogo di Facebook XML con PHP
Facebook permette di creare i cataloghi in diversi formati.
Noi oggi vediamo il formato XML, che deve rispettare le specifiche ATOM/RSS.
Questo perchè è più facile da gestire, e permette di impostare gli aggiornamenti automatici, senza che l'utente ricarichi i prodotti.
Do per scontato che sappiate già connettervi al vostro db, e che abbiate già la query di estrazione dei prodotti.
Ecco il mio codice PHP:
header('Content-Type: text/xml; charset=utf-8', true);
// QUESTA è LA FUNZIONE CHE ESTRAE I PRODOTTI
$query = getProdotti();
$xml = new SimpleXMLElement($xmlTxt = '<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"></rss>');
$baseUrl= 'https://www.sito.it/';
$channel = $xml->addChild('channel');
$channel->addChild('title', 'Catalogo di prova');
$channel->addChild('link', $baseUrl);
$channel->addChild('description', 'Catalogo di prova');
foreach ($query as $var) {
$prezzo = $var['articolo_prezzo'];
$title = strip_tags(ucfirst(strtolower($var['articolo_nome'])));
$desc = (!empty(trim($var['articolo_descrizione_ita']))) ? strip_tags($var['articolo_descrizione_ita']) : $title;
$item = $channel->addChild('item');
$item->addChild('g:id', $var['articolo_codice']);
$item->addChild('g:title', $title);
$item->addChild('g:description', $desc);
$item->addChild('g:link', baseUrl . 'articolo/' . $var['articolo_codice'] . '.html');
$item->addChild('g:image_link', baseUrl . 'immagini/' . $var['img_nome']);
$item->addChild('g:brand', $var['brand_nome']);
$item->addChild('g:condition', 'new');
$item->addChild('g:availability', 'in stock');
$item->addChild('g:price', number_format($prezzo, 2) . ' EUR');
}
echo $xml->asXML();
Alcune considerazioni:
- non sono richieste librerie esterne, in quanto usiamo SimpleXMLElement
- l'url dell'articolo e l'url delle immagini dipende ovviamente dal vostro sito
- ho reso il nome dell'articolo tutto minuscolo tranne la prima, perchè Facebook consiglia così
- ho fatto un controllo sulla descrizione, in quanto se è vuota Facebook rompe
Una volta modificato lo script per le vostre esigenze, potete provarlo direttamente nel browser.
Quando siete pronti caricatelo!
Enjoy!
php xml facebook simplexmlelement
Commentami!