Nel nostro ultimo tutorial abbiamo discusso su come implementare uno strumento di importazione, in cui abbiamo creato un pulsante di importazione e il suo modello di front-end. Oggi impareremo come possiamo importare direttamente i dati di massa dai nostri computer al nostro sistema OpenCart.
Consideriamo prima la gerarchia. Nel tutorial precedente abbiamo implementato lo strumento di esportazione, che consente all'utente di scaricare i fogli CSV e alternare secondo necessità. Successivamente abbiamo implementato lo strumento di importazione, che consente all'utente di caricare / importare quel file / dati modificati. In precedenza abbiamo implementato il layout. In questo articolo, implementeremo la funzionalità.
Nel nostro ultimo tutorial, abbiamo creato un controller che ci spinge al layout del modulo di caricamento. Nel file di visualizzazione del layout, avevamo un input di caricamento in cui l'utente può caricare un CSV come mostrato di seguito:
admin / regolatore / Catalogo / Product.php
.importCSV ()
Funzione, che abbiamo creato nel tutorial precedente.if (($ this-> request-> server ['REQUEST_METHOD'] == 'POST'))
dopo di esso, per garantire che la parte di codice verrà eseguita solo se viene inviato il modulo sopra.Il codice seguente apre il file CSV presentato e lo gestisce come di sola lettura.
Ora dobbiamo passare attraverso ogni riga del CSV e salvare nel nostro db. A questo proposito, analizzeremo i record e li salveremo di conseguenza.
model_catalog_product-> importCsvData ($ data); // analizza i dati sul modello else // in caso di errori, inserisci qui il codice di debug?>
Al termine dell'importazione, l'utente deve essere reindirizzato, quindi il codice seguente reindirizza l'utente al modulo e fornisce un messaggio di successo.
session-> data ['success'] = 'CSV importato con successo!'; // messaggio di successo $ this-> redirect ($ this-> url-> link ('catalog / product', 'token ='. $ this-> session-> data ['token']. $ url, 'SSL' )); // reindirizzato alla pagina del prodotto?>
Fino a questo punto, abbiamo creato una funzione che carica solo CSV, legge i dati riga per riga e li analizza nel modello. Ora dobbiamo creare un modello come definito nel codice del controller, che è responsabile del salvataggio dei dati analizzati nel db.
admin / modello / Catalogo / Product.php
.importCsvData ($ data)
.db-> query ("UPDATE" ".DB_PREFIX." prodotto 'SET. $ model. "" quantità =' ". (int) $ quantità." 'WHERE. $ product_id. "" "); // aggiornamento prodotto quantità e il suo modello if ($ nome) $ query = $ this-> db-> query ("UPDATE" ".DB_PREFIX." product_description "SET. $ this-> db-> escape ($ name)." "WHERE . $ product_id "". "); // aggiorna il nome del prodotto?>
Quindi, il tutorial di oggi consiste nel fornire una soluzione completa per il sistema di esportazione / importazione. Forniamo una tale soluzione, in cui gli utenti possono modificare / aggiornare i propri dati. Questa soluzione è super facile da usare e implementare. Non vedo l'ora di ricevere il tuo feedback. Sentiti libero di lasciare un commento o una domanda qui sotto. Grazie!