Back to top

Autore Topic: Esportazione catalogo per Ciao! e Kelkoo  (Letto 50214 volte)

Offline mdgb

  • Nuovo arrivato
  • *
  • Post: 41
    • Mostra profilo
Esportazione catalogo per Ciao! e Kelkoo
« il: 29 Ago 2007, 19:53:12 »
Ciao a tutti!
Non so se qualcuno mi può essere di aiuto ma lo spero veramente!!!

Ho circa 1500 prodotti in Virtuemart e vorrei indicizzare il catalogo nei vari comparatori di prezzi ( ciao!, kelkoo ecc..).
Loro accettano tutti sia i file in .csv che in .txt e questo è già molto.
Il problema è riuscire a generare un file .csv che sia compatibile con le loro specifiche.

Faccio un esempio con le specifiche di Ciao!

I campi sono i seguenti:
Categoria | Marca | Product_name | Deep link | Prezzo | url immagine | disponibilità | costi spedizione | descrizione.

Qual'è il problema?
1) I dati si trovano in db diversi di Virtuemart
2) la marca del prodotto non è immediatamente visibile ma si vede il codice manifacturer(1=canon, nel campo vedi 1 e non canon)
3) il file deve oter essere aggiornato quotidianamente.

Vi prego veramente di aiutarmi, sono 5 giorni che impazzisco!

Ps. Chi da una mano concreta si merita un regalo, non posso fare publicità qui ma una mano mi serve veramente! Grazie in anticipo.

Marco.
« Ultima modifica: 24 Gen 2008, 14:07:55 da GiorgioBlu »

Offline mdgb

  • Nuovo arrivato
  • *
  • Post: 41
    • Mostra profilo
Re: esportazione catalogo per Ciao! e Kelkoo
« Risposta #1 il: 30 Ago 2007, 18:09:01 »
Vi mando quello che ho fatto. Carneade please! ???
Questo è quello che sono riuscito a fare:

lo script interroga il db e restituisce i dati in un file txt compatibile con la struttura richiesta da trovaprezzi.

Alcuni comandi funzionano già bene, altri mi stanno facendo impazzire data la mia ignoranza in php.

Allego il codice in questione.

<?
header("Content-disposition: filename=trovaprezzi.txt");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");

include("config1.php");
/*
* Copyright (C) 2006-2100 Sandro Stracuzzi <info@persefone.it> <sandrostracuzzi@hotmail.com>
* rielaborato da me per adattarlo a virtuemart.
*/

#questo funziona
$obj=new sast1com();$obj->connessione();
$dati=mysql_query("select * from jos_vm_product");
while($array=mysql_fetch_array($dati))
$sito="http://".$_SERVER['HTTP_HOST'];
echo"$array[product_name]|";

#qui anderbbe la marca ma dato che il database ha una struttura diversa non riesco a farlo funzionare
$dati=mysql_query("select * from joomla");
while($array=mysql_fetch_array($dati))
$sito="http://".$_SERVER['HTTP_HOST'];
echo "$array[mf_name]|";

#questo funziona
$dati=mysql_query("select * from jos_vm_product");
while($array=mysql_fetch_array($dati))
$sito="http://".$_SERVER['HTTP_HOST'];
echo"$array[product_s_desc]|";

#nulla da fare, anche il database product_price non capisco come interrogarlo
$dati=mysql_query("select * from jos_vm_product_price");
while($array=mysql_fetch_array($dati))
$sito="http://".$_SERVER['HTTP_HOST'];
echo"$array[idx_product_price_product_id]|";

#questo funziona a metà
$dati=mysql_query("select * from jos_vm_product");
while($array=mysql_fetch_array($dati))
$sito="http://".$_SERVER['HTTP_HOST'];
echo"$array[product_sku]|"; #il product sku lo prende
echo"$array[product_in_stock]|"; #questo non lo vede

#qui non ci capisco nulla
$dati=mysql_query("select * from jos_vm_category");
while($array=mysql_fetch_array($dati))
$sito="http://".$_SERVER['HTTP_HOST'];
echo jos_vm_category($array[category_name])."|";
echo"$sito/components/com_virtuemart/shop_image/product/$array[product_thumb_image]|"; #però l'immagine la legge
echo"0|";

#anche qui funziona male, forse per un fatto di formattazione delle celle?
$dati=mysql_query("select * from jos_vm_product");
while($array=mysql_fetch_array($dati))
$sito="http://".$_SERVER['HTTP_HOST'];
echo"product_id";
echo"<endrecord>\n";


?>

<?
#questa funzione andrebbe modificata per adattarla a joomla ma non so come farlo.
function jos_vm_category($id)
{
$obj=new sast1com();
$obj->connessione();
$dati=mysql_query("select category_name from jos_vm_category where id='$id'");
while($array=mysql_fetch_array($dati)){
return "".$array[category_name];
}
}
?>

Offline thepisu

  • Appassionato
  • ***
  • Post: 369
  • Sesso: Maschio
  • .. still looking for ..
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #2 il: 31 Ago 2007, 15:59:37 »
Dovresti dare un'occhiata qui...

http://www.csvimproved.com/

PS: non mi sembrava il caso di stickarlo, almeno fino a soluzione trovata...
Stefano "Pisu" Bagnatica | VirtueMart Italia

Offline thor486

  • Esploratore
  • **
  • Post: 60
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #3 il: 13 Set 2007, 15:19:33 »
MODIFICATO
« Ultima modifica: 13 Nov 2007, 03:58:40 da thor486 »

Offline g.m.

  • Appassionato
  • ***
  • Post: 233
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #4 il: 14 Set 2007, 11:58:49 »
Ciao, ho ho realizzato il mese scorso uno script per il circuito trovaprezzi secondo le specifiche che loro hanno richiesto al mio cliente.

Potrei anche postarlo se a qualcuno interessa però a quanto ho capito il loro tracciato differisce da quello di kelkoo...confermate?

Ci sono dei post a riguardo anche in questo forum su come è il tracciato richiesto dal circuito trovaprezzi.

Per la cronaca cmq il mio script funziona in questa maniera:
- va messo nella root
- carica le costanti del file configuration.php
- ha un suo file di configurazione

nel file di configurazione è possibile settare tutta una serie di parametri e tra le varie cose è possibile:
- decidere se generare un file di testo in una qualsiasi posizione sotto la root oppure generare l'output a video (questo xchè ho scoperto che quando il programma di trovaprezzi richiama il mio script.php lo legge come un file di testo l'output e mi evita di schedula con chron).
- ho impostato due logiche diverse sulle disponibilità o in base a quella reale oppure in base ad un sistema imposta la disponibilità in base al tempo di consegna di default (2-3d.gif es).
- decidere che categorie inserire o categorie da escludere e
- mettere solo i prodotti disponibili o no.
- farsi inviare una mail con il risultato dello script
- impostastare il costo delle spese di spedizione

Sto sistemando una cosina al volo se a qualcuno interessa,e se nessuno mi insulta per il mio php  ;), lo posso anche postare fra qualche giorno.

Certo che concordo pienamente con thepisu .. ho fatto lo script solo xchè mi serviva subito e con certe caratteristiche richieste dal mio committente.

Ciao
ps: come faccio a postare lo script nel caso.. lo allego? come?  :P

Offline mdgb

  • Nuovo arrivato
  • *
  • Post: 41
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #5 il: 19 Set 2007, 01:18:10 »
Alla fine ci sono riuscito, anche se penso che un buon programmatore leggendo quello che ho scritto mi prenderebbe a calci  ;) . Comunque puoi postarlo come allegato.

Grazie a tutti dei consigli.

Offline g.m.

  • Appassionato
  • ***
  • Post: 233
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #6 il: 19 Set 2007, 12:04:09 »
Eccolo
per eventuali domande scrivetemi pure in pvt
se qualcuno ha voglia di migliorarlo ben venga ;)

Ciao
ps: mi scuso con i programmatori php ... purtroppo nn è un linguaggio di programmazione che uso spesso.

[allegato eliminato da un amministratore]

Offline marco.bag

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #7 il: 23 Ott 2007, 18:37:39 »
Ciao, ho usato con successo il tuo script, e ti faccio i miei complimenti.

Ho solo un piccolo problema e spero tu possa illuminarmi.

In pratica lo script mi duplica i prodotti se sono contenuti in più di una categoria (es... Cartucce > Getto di inchiostro > canon verrà visualizzato 3 volte)... come posso fare per evitare tale duplicazione?

Ciao
Marco

marco.bag@gmail.com

Offline g.m.

  • Appassionato
  • ***
  • Post: 233
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #8 il: 24 Ott 2007, 17:33:12 »
mmh non me ne ero accorto...senti vorrei fargli ancora qualche bug fix in questi giorni. Es. se un articolo nella descrizione hai il pipe si incasina tutto.
Però mi sorge un dubbiolino... non è che è virtuemart che ti duplica l'articolo se lo metti in due categorie? La query parte guardando la tabella articoli.

Se vuoi puoi contattarmi anche in pvt Ciao

Offline g.m.

  • Appassionato
  • ***
  • Post: 233
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #9 il: 25 Ott 2007, 05:25:10 »
Ciao modifica la riga 22 del mio script in questo modo:

$query .=  "group by vm_p.product_id  ORDER BY product_name";

Poi quando ho sistemato quei piccoli bug riposto tutto il file anche con questa modifica.

Offline NiGhTFrosT

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #10 il: 20 Nov 2007, 13:41:13 »
Ciao modifica la riga 22 del mio script in questo modo:

$query .=  "group by vm_p.product_id  ORDER BY product_name";

Poi quando ho sistemato quei piccoli bug riposto tutto il file anche con questa modifica.
Ciao,

ho provato ad utilizzare il tuo script ma mi restitutisce un errore su più linee sul trovaprezzi.php

Codice: [Seleziona]
supplied argument is not a valid MySQL result resource
sapresti dirmi dove sto sbagliando?

Grazie!!!!

Offline g.m.

  • Appassionato
  • ***
  • Post: 233
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #11 il: 20 Nov 2007, 14:04:35 »
penso che forse devi configurare i prefissi delle tabelle di joomla e virtuemart nel file configuration.trovaprezzi.php.. ho appena provato il file e tutto mi funziona senza problemi.

magari tra la riga 22 o la riga 23 ci metti questo
die ($query);
e mi dici cosa ti scrive la query.

Fammi sapere.
ps: nn ho mandato altre versioni modificate xchè sto cercando di fare un'integrazione nel back-end di joomla per poter scegliere con un flag le categorie da segnalare, inoltre sarebbe interessante fare anche la versione per kelkoo che ha un tracciato leggermente diverso.

Offline NiGhTFrosT

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #12 il: 20 Nov 2007, 17:39:31 »
penso che forse devi configurare i prefissi delle tabelle di joomla e virtuemart nel file configuration.trovaprezzi.php.. ho appena provato il file e tutto mi funziona senza problemi.

magari tra la riga 22 o la riga 23 ci metti questo
die ($query);
e mi dici cosa ti scrive la query.

Fammi sapere.
ps: nn ho mandato altre versioni modificate xchè sto cercando di fare un'integrazione nel back-end di joomla per poter scegliere con un flag le categorie da segnalare, inoltre sarebbe interessante fare anche la versione per kelkoo che ha un tracciato leggermente diverso.

Ti ringrazio x il supporto...

ho configurato correttamente i prefissi che di default (correggimi se sbaglio) sono rispettivamente jos_ e vm_ .

L'errore ripresentato su più linee è+ a volte anche ripetuto. Siccome ho notato delle stranee anomalie nel modulo virtuemart (browse e flypage) dopo aver smanettato un pò con il mysql non vorrei che il tutto fosse dovuto a questo.

Reinstallo virtuemart, lo ricofiguro e ti faccio sapere anche inserendo la stringa da te presentata.

Saluti,
Nicola

Offline g.m.

  • Appassionato
  • ***
  • Post: 233
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #13 il: 20 Nov 2007, 19:40:23 »
si i prefissi di default sono quelli, però decidi tu quando installi.
Fammi sapere...ciao

Offline weboriented

  • Nuovo arrivato
  • *
  • Post: 29
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #14 il: 27 Nov 2007, 11:51:39 »
Dove posso trovare lo script?
Avrei anche io la stessa necessità...


Offline g.m.

  • Appassionato
  • ***
  • Post: 233
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #15 il: 27 Nov 2007, 12:53:44 »
Allego qui lo script con un paio di bug fix.
Cmq ho in progetto di farne una versione dalla quale sarà possibile selezionare le categorie e/o i prodotti da inserire dal pannello di amministrazione di virtuemart.
Inoltre sarebbe interessante poter generare anche quello per keelkoo..che differisce per la tipologia di tracciato.
Questo funziona correttamente su trovaprezzi e shoppydoo.
Infine credo sia utile mettere un paio di get all'inizio per poter verificare username e pw da passare al link così da non avere generazioni indesiderate.

Ciao

[allegato eliminato da un amministratore]

Offline weboriented

  • Nuovo arrivato
  • *
  • Post: 29
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #16 il: 27 Nov 2007, 13:06:36 »
Ma per il suo utilizzo devo fare un semplice upload da qualche parte e lanciarlo via http oppure va integrato in virtuemart?
Se si, come devo procedere?

Offline g.m.

  • Appassionato
  • ***
  • Post: 233
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #17 il: 27 Nov 2007, 14:10:50 »
così com'è devi metterlo nella root del sito (i due files) controllare che i prefissi delle tabelle siano corrispondenti con quelli del tuo sito (nel file configuration.trovaprezzi.php) a questo punto digitando www.nometuosito.ext/trovaprezzi.php ti verrà generato l'output.
Non badare se vedi caratteri strani o impaginazioni quando lo richiamano con il loro sistema automatico lo script gli invia tutto correttamente.

Ciao

Offline weboriented

  • Nuovo arrivato
  • *
  • Post: 29
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #18 il: 27 Nov 2007, 15:51:55 »
Mi genera un file vuoto...
Ho impostato il configuration.trovaprezzi.php con esportazione in file .txt di nome trovaprezzi.txt).
Ho verificato le tabelle ed i prefissi che corrispondono ma non capisco dov'è il problema...

Mi arriva anche la mail che genera:
Record generati correttamente:0
questa email è generata automaticamente non rispondere.


Non capisco dove sto sbagliando ma so che sicuramente è una sciocchezza...

Codice: [Seleziona]
$jos = "jos_";//prefisso delle tabelle di joomla
$vm = "vm_";//prefisso delle tabelle di virtuemart
$solopositivi = true;//true se mette solo esistenze positive - false se mette tutti gli articoli
$dispo_reali = true;//se true inserisce la parola "disponile" per i disponili - "in arrivo" per i prodotti in arivo - "non disponibile" per i prodotti a 0 stock
$noimage = "noimage.gif";//nome dell'immagine predefinita "no image"
$spese_sped = "9.00";//usare formato stringa con separatore decimale punto
//inserire qui una pila array delle categorie da inserire in trovaprezzi es. Telefonia mette anche le sue subcategorie
$categorie_vis[] = "Telefonia;Cellulari;Hi-Tech;Promozioni Speciali;Notebooks;Monitor;Videogames;Games;Fotocamere;Telecamere;Accessori;Home Video; ";//esempio
$categorie_no_vis[] = "Consumabili";//esempio
$FileName = "trovaprezzi.txt";//se vuoto nn fa il tracciato testo
$echohtml = true;//se true fa il tracciato sulla pagina utile se nn si usa chron
$inviamail = true;//se true invia una mail al destinatario con i dati di cui sotto

Offline g.m.

  • Appassionato
  • ***
  • Post: 233
    • Mostra profilo
Re: Esportazione catalogo per Ciao! e Kelkoo
« Risposta #19 il: 27 Nov 2007, 16:04:59 »
Prova a togliere la riga con la variabile categorie_vis[] e anche quella con categorie_no_vis[] tanto per vedere cosa succede.
Poi cosi come lo hai impostato ti prende solo gli articoli che hanno stock superiore a zero, se devi prenderli tutti metti a false $solopositivi

Fammi sapere

 



Web Design Bolzano Kreatif