Back to top

Autore Topic: Esportazione prodotti da wordpress a joomla  (Letto 1329 volte)

Offline 71^sec.design

  • Appassionato
  • ***
  • Post: 474
  • Sesso: Femmina
  • www.webinword.com
    • Mostra profilo
Esportazione prodotti da wordpress a joomla
« il: 19 Giu 2014, 17:51:02 »
Devo esportare i prodotti da un e-commerce multilingua (ita e eng) realizzato con wordpress e woocommerce in virtuemart.

Ho trovato un servizio, shopping-cart-migration che però non esporta i prodotti in lingua inglese, solo la lingua principale.

A questo punto mi chiedevo come procedere.
Csv Free?

Grazie per i suggerimenti.
WebinWord.com | Google Partner

Offline 71^sec.design

  • Appassionato
  • ***
  • Post: 474
  • Sesso: Femmina
  • www.webinword.com
    • Mostra profilo
Re:Esportazione prodotti da wordpress a joomla
« Risposta #1 il: 25 Giu 2014, 14:47:04 »
Nessuna risposta?
WebinWord.com | Google Partner

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Esportazione prodotti da wordpress a joomla
« Risposta #2 il: 25 Giu 2014, 19:07:28 »
esporti da wordpress in xml con l'apposito tool e reimporti in phpmyadmin o usi un tools che trovi nella jed
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline 71^sec.design

  • Appassionato
  • ***
  • Post: 474
  • Sesso: Femmina
  • www.webinword.com
    • Mostra profilo
Re:Esportazione prodotti da wordpress a joomla
« Risposta #3 il: 26 Giu 2014, 09:20:10 »
Molto gentile.

Esportando in xml da wordpress, se non sbaglio, poi non posso importare lo stesso file xml in un mysql.
Non lo accetterebbe.
WebinWord.com | Google Partner

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Esportazione prodotti da wordpress a joomla
« Risposta #4 il: 26 Giu 2014, 10:09:21 »
in linea di massima, e vado a memoria:
semplifichiamo la faccenda per capire lo schema del file xml:

Codice: [Seleziona]
< ?xml version="1.0" encoding="UTF-8"?>
< dataroot xmlns:od="urn:schemas-microsoft-com:officedata" generated="2012-07-17T12:34:02">
   < nome_tabella>
      < campo1>testo1< /campo1>
      < campo2>testo2< /campo2>
      < campo3>testo3< /campo3>
   < /nome_tabella>
   < nome_tabella>
      < campo1>testo1< /campo1>
      < campo2>testo2< /campo2>
      < campo3>testo3< /campo3>
   < /nome_tabella>
< /dataroot>

Vediamo cosa vogliono dire i tag XML per capire meglio cosa stiamo facendo:

 

  • < ?xml : Iniziamo dicendo che il documento che stiamo aprendo è un file in formato XML, versione 1.0 codificato in UTF-8.
  • <dataroot> : Tutto quello che scriviamo dovrà essere inserito all'interno di questo tag, altrimenti non riusciremo a recuperare i valori in PHP.
  • <nome_tabella> : Questo tag definisce il nome di una proprietà, con all'interno dei dati. Nel nostro caso sarà il nome della tabella di riferimento, con i campi di quella tabella.
  • <campo> : Qui decidiamo i campi che definiscono quella determinata proprietà. Sarebbe corretto avere lo stesso numero di campi con lo stesso nome, per ogni proprietà.
adesso, mettiamo che tu abbia una tabella nel database così composta:

  • id: identificativo univoco dell'utente (non segnato nell'XML perché creato in automatico)
  • nome
  • cognome
  • indirizzo
  • mail
  • telefono

Creiamo un form in una pagina html per fare l'upload del file, quindi con un enctype "multipart/form-data".
Creeremo 2 file, il primo upload.html, ed il secondo importa_xml.php

codice del file upload.html

Codice: [Seleziona]
< html>
   < head>
      < title>Upload ed importazione XML< /title>
   < /head>
   < body> 
      < form enctype="multipart/form-data" method="post" action="importa_xml.php">
         File XML: < input type="file" name="filexml" value="" />     
         < input type="submit" name="" value="Upload" />
      < /form>
   < /body>
< /html>

Upload ed importazione in MySQL del file XML in PHP

Ora dobbiamo creare la pagina per logica del programma, e quindi nel nostro caso per l'upload del file e del caricamento dei dati in MySQL nella tabella utenti

Nome file: importa_xml.php

Codice: [Seleziona]
// Apro la connessione al DB
// ------
// ------


// Recupero il file
$file = $_FILES['filexml'];

// Controllo che il file sia stato inserito
if ( $file['tmp_name'] != '' ) {
    // Carica il file in una variabile $xml
    $xml = simplexml_load_file( $file['tmp_name'] );
   
    // Controllo tutti i tag "utenti"
    foreach( $xml->utenti as $value ) {
        // Recupero tutti i campi da ogni tag "utenti"
        $nome = $value->NOME;
        $cognome = $value->COGNOME;
        $indirizzo = $value->INDIRIZZO;
        $mail = $value->MAIL;
        $telefono = $value->TELEFONO;
       
        // Creo una query di inserimento e la eseguo
        $sql = "
            INSERT INTO utenti SET
                nome = '$nome',
                cognome = '$cognome',
                indirizzo = '$indirizzo',
                mail = '$mail',
                telefono = '$telefono'
        ";
        $rssql = mysql_query( $sql );
       
        // Controllo che l'importazione sia avvenuta con successo
        echo ( $rssql ) ? "Importazione avvenuta con successo" : "Errore nella query o connessione al DB mancante";
    }
}
else
    echo "Nessun file inserito";

ti consiglio di fare delle prove di importazione prima, magari su un database vuoto con questa tabella che crerai direttamente in phpmyadmin:

Codice: [Seleziona]
CREATE TABLE IF NOT EXISTS `utenti` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(255) NOT NULL,
  `cognome` varchar(255) NOT NULL,
  `indirizzo` varchar(255) NOT NULL,
  `mail` varchar(255) NOT NULL,
  `telefono` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

capito e verificato il funzinamento con l'esempio, lo potrai implementare a secondo del contenuto del file generato da wordpress.

su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline 71^sec.design

  • Appassionato
  • ***
  • Post: 474
  • Sesso: Femmina
  • www.webinword.com
    • Mostra profilo
Re:Esportazione prodotti da wordpress a joomla
« Risposta #5 il: 26 Giu 2014, 10:23:35 »
Grazie della guida.

Sembra tutto chiaro, ora vediamo come applico il tutto.
WebinWord.com | Google Partner

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Esportazione prodotti da wordpress a joomla
« Risposta #6 il: 26 Giu 2014, 11:14:30 »
solo un paio di cosette:

1. non passate le stringhe al sql cosi come sono ma usate mysql_real_escape_string() altrimenti avrete il programma bloccato al primo apostrofo...

2. la linea
Codice: [Seleziona]
echo ( $rssql ) ? "Importazione avvenuta con successo" : "Errore nella query o connessione al DB mancante";
occhio alla parentesi, meglio
Codice: [Seleziona]
echo ( $rssql ? "Importazione avvenuta con successo" : "Errore nella query o connessione al DB mancante");

ciao
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif