Tag Archives: oscommerce

E-commerce: Google Shopping e osCommerce

Pubblicato da

E-commerce: Google Shopping e osCommerce

E’ da inizio mese che Google Shopping ha fatto il suo ingresso anche in Italia.
Utilizzando il motorone di Mountain View sarà possibile navigare e cercare tra i prodotti di proprio interesse, pubblicati dai vari merchant.
Una grande e scomoda concorrenza per tutti quei portali che offrono servizi di comparazione prezzi.
Ecco alcuni link utili per approfondire:

Inviare l’elenco dei prodotti presenti nel proprio e-commerce non è difficile, basta estrarre tutti i record e seguire alcune linee guida.

Un mio cliente che aveva una versione vecchia ma personalizzata di osCommerce desiderava essere presente in Google Shopping.
Ci sono alcuni plugin che permettono di interfacciarsi con Google Shopping ma li ho trovati macchinosi e, spesso, difficili da configurare.
Ho scelto, così, come metodo di invio dei dati, la pubblicazione del datafeed sotto forma di file di testo scritto da uno script PHP.

Nota bene che c’è un set di dati obbligatori da estrarre dal db e inserire nel datafeed (vedi qui) e altri che sono consigliati.
AGGIORNAMENTO: Il valore MPN è diventato praticamente obbligatorio

Lo condivido sperando che possa essere utile a qualcun altro.

<?php
// connessione
$dbhost = ‘tuohost’;
$dbuser = ‘tuouser’;
$dbpass = ‘tuapass’;

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die (‘Error connecting to mysql’);

$dbname = ‘nometuodb’;
mysql_select_db($dbname);

$query = ”
select p.products_id,
pd.products_name,
pd.products_description,
manufacturers.manufacturers_name as mfgName,
manufacturers.manufacturers_id,
p.products_price,
p.products_image,
p.products_weight,
p.products_quantity
from products p
left join products_description pd on p.products_id = pd.products_id
left join manufacturers on manufacturers.manufacturers_id = p.manufacturers_id
where p.products_status = ‘1’ and p.products_quantity > ‘0’ order by p.products_id”;

// nome del file txt. Il nome può essere uno qualsiasi
$datafile=”miodominio-googlebase.txt”;

// lancio la query
$products_query = mysql_query($query);

// apro il file per scriverci
$file = fopen($datafile, “w”);

// scrivo le intestazioni dei dati che voglio inviare.
// Il separatore predefinito che ho scelto è il tab
$file_header = “id\tcondizione\tlink\ttitolo\tmarca\tdescrizione\tprezzo\tpeso spedizione\tlink_immagine\tquantit&agrave;\tmpn\n”;
fwrite($file, $file_header);

// ciclo attraverso i risultati per scrivere il datafeed
while ($products = mysql_fetch_array($products_query)) {

// i maggiori problemi sono dati dai caratteri della descrizione del prodotto
// la “pulizia” avviene in due passaggi
$descr_clean = preg_replace(“/^[^a-z0-9]?(.*?)[^a-z0-9]?$/i”, “$1”, strip_tags($products[‘products_description’]));

$_strip_search = array(
“![\t ]+$|^[\t ]+!m”, // rimuove spazi avanti e dietro che possono essere confusi con i tab
‘%[\r\n]+%m’); // rimuove a capo
$_strip_replace = array(
”,
‘ ‘);
$_cleaner_array = array(“>” => “> “, “&reg;” => “”, “®” => “”, “&trade;” => “”, “™” => “”, “\t” => “”, ”    ” => “”); //rimuove caratteri speciali

$descr_clean = preg_replace($_strip_search, $_strip_replace, strip_tags(strtr($products[‘products_description’], $_cleaner_array)));

// cerco se esiste l’immagine del prodotto altrimenti metto il no_image.png (questo file può variare da installazione a installazione di osCommerce)
if(!file_exists(“images/”.$products[‘products_image’])) {
$image = “http://www.miodominio.com/images/no_image.png”;
} else {
$image = “http://www.miodominio.com/images/”.$products[‘products_image’];
}

$price = number_format($products[‘products_price’], 2, ‘.’, ”); //formattazione euro

$prod_line = $products[‘products_id’].”\tnuovo\thttp://www.miodominio.com/product_info.php?products_id=”.$products[‘products_id’].”\t”.$products[‘products_name’].”\t”.$products[‘mfgName’].”\t”.substr($descr_clean, “0”, “400”).”\t”.$price.”\t”.$products[‘products_weight’].”\t”.$image.”\t”.$products[‘products_quantity’].”\t”.$products[‘products_id’].”\n”;

$line_to_write = htmlentities($prod_line);

fwrite($file, $line_to_write);
}

fclose($file);
?>

Lanciando questo script che io ho chiamato datafeedgoogle.php si crea un file di testo (miodominio-googlebase.txt) che poi deve essere segnalato nel pannello merchant di Google.
Ovviamente si può settare un cron job sul server in modo che ogni sera venga lanciato lo script per la creazione del file txt.
In questo modo, nello stesso pannello di configurazione del merchant, potremo segnalare che l’aggiornamento dei prodotti avviene giornalmente.

Link: Google Shopping

Scarica il file dell’esempio

Google Shopping
Google Merchant Center
la guida al Google Merchant Center
il blog di Google Merchant Center center
il punto di partenza per

9 piattaforme e-commerce open source sotto esame

Pubblicato da

9 piattaforme e-commerce open source sotto esame

Ho aiutato diverse aziende a mettere su sistemi e-commerce per portare la loro attività sulla rete.
E’ dall’alba di questo nuovo modo di fare commercio che dico ad ogni imprenditore, che potrebbe avere un mercato su internet, di provare. Il mercato è ancora in crescita esponenziale e, per quanto adesso ci sia molta concorrenza in più, c’è ancora spazio per tutti.

Non è un caso che abbia detto “provare”. Aprire un’attività su internet è diventato anche poco oneroso. Si può cominciare con un piccolo investimento (il primo deve essere un bravo consulente informatico..) e poi, espandersi in base al successo dell’iniziativa.
Anche il software per l’e-commerce può essere scaricato gratuitamente dalla rete. Addirittura adesso c’è l’imbarazzo della scelta.
Vediamo cosa offre la produzione attuale, qualche mia esperienza e dove trovare un’analisi di base di questi software

I software open source più diffusi sono

Un’interessante panoramica la potete leggere qui

Per quel che riguarda la mia esperienza, cominciai nel 2001 con MWOpen, uno script scritto in ASP e con db Access. Per l’epoca era abbastanza completo e molto adattabile alle varie esigenze. ASP è però diventato un linguaggio obsoleto (anche se ancora molto usato) e il db Access non poteva sopportare carichi di lavoro eccessivi (molti però facevano il porting al MySQL).
Ho utilizzato poi CubeCart nella versione 2003, apprezzandone la semplicità e l’immediatezza ma, almeno in quella versione, mancava di parecchie opzioni e anche l’interfaccia d’amministrazione era molto povera.
Con OsCommerce ho fatto alcune prove ed ho apprezzato la completezza dello script e la sua enorme modularità ed espandibilità dovuta alla grande community.
Ultimamente ho anche usato VirtueMart che funziona in abbinamento con Joomla! (o Mambo) ma mi è sembrato solo una comoda integrazione ad un CMS e non un sistema e-commerce completo.