Een CSV-importtool voor producten bouwen in OpenCart - Deel 1

Stel dat u een lijst met producten voor uw winkel heeft waarvan de prijzen op de site moeten worden bijgewerkt. Maar je haat handmatige banen? U wilt een oplossing waarmee u die lijst direct kunt importeren en al uw producten en prijzen worden in slechts een paar klikken bijgewerkt. Ja! dit is wat we gaan doen. Standaard biedt OpenCart niet de mogelijkheid om de producten vanuit elke externe bron te importeren, in dit geval moeten we een module ontwikkelen die kan worden gebruikt voor import.

In ons vorige artikel hebben we enkele producten en hun informatie (product-id, model, productnaam en prijs) geëxporteerd zodat we ons vorige werk voortzetten, laten we beginnen met het bouwen van een importtool!

Wat gaan we doen?

Vandaag gaan we een importsysteem toevoegen in OpenCart. Zoals we weten is OpenCart een gratis e-commerce oplossing die het ontwikkelaars ook in staat stelt om het dienovereenkomstig aan te passen. Laten we het hebben over winkelwinkels. Op dagelijkse basis veranderen dingen vaak, b.v. verandering in hoeveelheid, prijsverandering, wijziging van de beschrijving, enz. 

Voor elk bedrijf om te groeien, is het heel essentieel om de winkel bij te werken en een eigenaar moet zich bewust zijn van zijn concurrenten, dus dingen veranderen ...! Nu is de vraag of iemand online een winkel runt en hij de prijzen van producten wil wijzigen. Wat zal hij doen? Voor dit doel bieden we een manier waarop gebruikers dingen kunnen afwisselen volgens hun zakelijke behoeften. Dus als u een e-winkel heeft en u wilt een aantal wijzigingen aanbrengen, zal dit importsysteem u op de beste manier helpen. Dus in dit eerste deel zullen we een formulier / interface maken waar een admin-gebruiker het CSV-bestand kan uploaden. Raadpleeg voor meer informatie over het bouwen van een CSV-exporttool voor producten - OpenCart .

Stap # 1: een link toevoegen

  1. Navigeren naar (Store_path) /admin/controller/catalog/product.php

  2. Zoek de coderegel: $ this-> data ['producten'] = array ();

  3. Voeg de gegeven code erna toe: 
     

$ this-> data ['import_csv'] = $ this-> url-> link ('catalog / product / importCSV', 'token ='. $ this-> session-> data ['token']. $ url, 'SSL');
(De bovenstaande code hebben we de link geparseerd, zodat we die aan een knop kunnen toewijzen)

Stap # 2: Een knop toevoegen in een weergave

  1. Ga naar (Store_path) /admin/view/template/catalog/product_list.tpl
  2. Je zult wat HTML-code vinden.
  3. Zoek gewoon de les met de naam "knop"
  4. In de klas zie je verdere knoppen zoals "invoegen", "kopiëren" enz.
  5. Plak de gegeven code gewoon boven aan alle knoppen 
  6. '"> CSV importeren

Stap # 3: de controllerfunctie

Nu we hierboven een knop hebben gemaakt, maken we een openbare functie in hetzelfde controllerbestand, d.w.z.., (Store_path) /admin/controller/catalog/product.php. Zorg ervoor dat de functienaam overeenkomt met de naam die u hierboven in de link vermeldt. Dus schreven we een publieke functie met de naam als importCSV ()

Binnen de functie moeten er enkele coderegels worden geschreven

3.1 Titels en kopjes instellen

$ this-> document-> setTitle ('CSV importeren'); // instellen van de paginatitel $ this-> data ['heading_title'] = "Importeer CSV"; // de koptitel opzoeken 

3.2 Model laden

De volgende regel laadt het model voor ons latere gebruik:

$ This-> load-> model ( 'catalogus / product'); // productmodel laden voor importdoeleinden

3.3 Actie- en annulerings-URL's

Nu we een formulier aan het maken zijn, gaan we de koppelingen "Uploaden" en "Annuleren" voor de gebruiker analyseren.

$ this-> data ['cancel'] = $ this-> url-> link ('catalogus / product', 'token ='. $ this-> session-> data ['token']. $ url, 'SSL '); // cancel url $ this-> data ['action'] = $ this-> url-> link ('catalog / product / importCSV', 'token ='. $ this-> session-> data ['token'] . $ url, 'SSL'); // huidige pagina url 

3.4 Paneermeel

// Breadcrumbs begin hier $ this-> data ['breadcrumbs'] = array (); $ this-> data ['breadcrumbs'] [] = array ('text' => $ this-> language-> get ('text_home'), 'href' => $ this-> url-> link ('common / home ',' token = '. $ this-> session-> data [' token '],' SSL '),' separator '=> false); // home page link $ this-> data ['breadcrumbs'] [] = array ('text' => 'CSV importeren', 'href' => $ this-> url-> link ('catalogus / product', 'token ='. $ this-> session-> data ['token']. $ url, 'SSL'), 'separator' => '::'); // link naar productpagina // broodkruimels eindigen hier 

3.5 Sjabloon instellen

We gaan de controller vertellen dat de import_csv.tpl voor het uitzicht.

$ this-> template = 'catalog / import_csv.tpl'; // het pad van de sjabloon geven // "import_csv.tpl" is een sjabloonnaam die later $ this-> children = array ('common / header', 'common / footer') wordt gemaakt; // calling header & footer $ this-> response-> setOutput ($ this-> render ()); // weergave weergeven 

Stap # 4: CSV-uploadformulier

Nu moeten we een nieuwe sjabloon maken die wordt weergegeven nadat op de knop is geklikt

  1. Volg gewoon het bovenstaande pad (Store_path) / admin / view / template / catalog
  2. Maak een bestandsnaam als import_csv.tpl 
  3. Open de sjabloon in uw favoriete IDE en plak de volgende eenvoudige HTML-code.
// breadcrumb-gegevens weergeven ">

Importeer '; "> Annuleren
* CSV

U kunt uw eigen sjabloon maken, de bovenstaande code is een eenvoudige versie ervan.

Conclusie

In dit deel van de zelfstudie hebben we enkele stappen gevolgd om een ​​"importtool" te maken, in dit opzicht hebben we een sjabloon aangepast, een formulier gemaakt om de gebruiker een betere haalbaarheid te bieden. In ons volgende deel van dit artikel. Het doel van het verdelen van dit artikel in twee (2) series is om u duidelijk te maken over de "Layouts" en de "Business Logic" van deze module. In ons volgende artikel zal CSV dus direct coördineren met de database en de gegevens dienovereenkomstig importeren. Bedankt voor uw interesse. Geef uw suggestie en opmerkingen op. Tot het volgende artikel, Happy Coding!