Creare un catalogo di Facebook XML con PHP

Mattepuffo's logo
Creare un catalogo di Facebook XML con PHP

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!


Share this Post

Commentami!