PS PrestaShop Gemiddeld

Import en export in CSV & XML voor PrestaShop: volledige gids

De import en export in CSV en XML installeren en instellen: profielen, visuele koppeling, bronnen via FTP, SFTP of URL, cron en logboeken.

Bijgewerkt Moduleversie 1.0.1

DF CSV & XML Pro is een universele import- en exportmotor voor PrestaShop 8 en 9. Hij verbindt elk CSV- of XML-bestand met uw winkel via een visuele koppeling van de kolommen, bewaart elke configuratie in een herbruikbaar profiel, en kan uw leveranciersfeeds automatisch ophalen via FTP, SFTP of een URL. Deze gids behandelt de installatie, het aanmaken van profielen, de verwachte kolomformaten, de planning via cron, de logboeken en de probleemoplossing.

Installatie

Ga naar Modules > Modulebeheer > Een module toevoegen, verstuur het bestand dfcsvpro.zip en klik op Installeren. Na de installatie verschijnt een tabblad DF CSV Pro onder Geavanceerde parameters.

De module voegt geen enkele override aan de kern van PrestaShop toe en verwijdert netjes. Er worden twee tabellen aangemaakt (profielen en logboeken), plus enkele configuratievariabelen; die verdwijnen bij het verwijderen.

Een profiel aanmaken

Een profiel beschrijft een volledige bewerking: de richting (import of export), de entiteit, het formaat, de bron, de kolomkoppeling, de opties en de planning. U start het met één klik of laat het automatisch door de cron afgaan. Klik op Nieuw profiel: een assistent leidt u in vier stappen.

1. Algemeen

Kies de richting (import of export), de entiteit, het formaat (CSV of XML) en de beoogde taal. Voor CSV stelt u het scheidingsteken in (of laat u de automatische herkenning haar werk doen), de codering (UTF-8, ISO-8859-1 of Windows-1252), het aantal regels dat vóór de kopregel moet worden overgeslagen en het scheidingsteken voor meerdere waarden (standaard een komma). Bij XML kunt u het itemknooppunt opgeven of het door de module laten herkennen.

Beschikbare entiteiten bij de import: producten, varianten, categorieën, klanten, en voorraad en prijzen. Bij de export: producten, categorieën, klanten en bestellingen.

2. Bron

Kies waar het bestand vandaan komt (bij import) of waar het resultaat terechtkomt (bij export): een handmatige upload, een URL (HTTP of HTTPS), FTP, SFTP of een lokaal pad. Vul bij FTP en SFTP de host, de poort, de gebruiker en het wachtwoord in, en gebruik de knop De verbinding testen om die te controleren vóór u opslaat.

3. Visuele koppeling

Laad een voorbeeldbestand (of haal het van de externe bron op): de module herkent de kolommen, toont een voorbeeld van de eerste regels en koppelt elke kolom automatisch aan het juiste PrestaShop-veld dankzij een herkenning in het Frans en het Engels (référence/SKU, prix/price, quantité/stock, EAN/gencod, TVA/VAT en zo verder). Pas de koppelingen in de tabel aan; elke kolom die op « niet gekoppeld » blijft staan, wordt gewoon overgeslagen.

De overeenkomstsleutel (stap 4) bepaalt hoe een bestaand product wordt teruggevonden: op ID, referentie of SKU, EAN-13 of MPN. Zorg dat de bijbehorende kolom wel degelijk is gekoppeld.

4. Opties en planning

Bepaal het importgedrag: ontbrekende elementen aanmaken, bestaande bijwerken, categorieën gaandeweg aanmaken, afbeeldingen van URL’s downloaden, bestaande afbeeldingen bij een update al dan niet vervangen, en de batchgrootte (het aantal regels per AJAX-aanroep). Schakel eventueel de planning in en kies de frequentie (per uur, dagelijks of wekelijks). Sla op: het profiel verschijnt in de lijst, klaar om te starten of in te plannen.

Kolomformaten

De module begrijpt de vakformaten van PrestaShop. Dit zijn de conventies die uw bestanden moeten volgen:

Veld Verwacht formaat
Prijs Decimaal, met komma of punt: 19,90 of 19.90
Booleans (actief en dergelijke) 1/0, yes/no, oui/non, true/false
Categorieën Namen of ID’s, gescheiden door het scheidingsteken voor meerdere waarden (standaard ,). Gaandeweg aanmaken is een optie.
Afbeeldingen URL’s, gescheiden door het scheidingsteken voor meerdere waarden. De eerste wordt de omslagafbeelding.
Kenmerken Naam:Waarde|Naam:Waarde
Varianten Groep:Waarde|Groep:Waarde (bijvoorbeeld Maat:M|Kleur:Rood)
Btw-tarief Een getal (bijvoorbeeld 20), gekoppeld aan de belastinggroep van het standaardland

Varianten

De attributenkolom volgt het formaat Groep:Waarde|Groep:Waarde. Ontbrekende attribuutgroepen en waarden worden automatisch aangemaakt, en de variant wordt herkend aan haar exacte set attributen; de import opnieuw draaien levert dus geen dubbels op. Het bovenliggende product wordt teruggevonden op zijn referentie of zijn ID, afhankelijk van de overeenkomstsleutel.

Kenmerken

Gebruik het formaat Naam:Waarde|Naam:Waarde. Elk kenmerk en elke waarde wordt aangemaakt als die nog niet bestaat.

Categorieën, afbeeldingen en tags

Die velden aanvaarden meerdere waarden, gescheiden door het scheidingsteken dat in het profiel is bepaald. Bij de categorieën mag u namen en ID’s mengen; de eerste afbeelding in de lijst dient als omslag.

Externe bronnen en beveiliging

Bij de import haalt de module het bestand op via een URL (HTTP of HTTPS, zo nodig met basisauthenticatie), een FTP-server (passief of actief), een SFTP-server of een lokaal pad dat tot de map van de winkel beperkt blijft. Bij de export kan hij het aangemaakte bestand op FTP of SFTP of in een lokale map plaatsen, of het aanbieden om te downloaden.

SFTP vraagt de PHP-extensie ssh2. Ontbreekt die op uw hosting, dan meldt de interface dat duidelijk en kunt u in de plaats FTP of een URL gebruiken.

De FTP- en SFTP-wachtwoorden worden versleuteld in de database bewaard (AES-256-CBC, met een sleutel die van de versleutelingssleutel van uw winkel is afgeleid) en gaan nooit onversleuteld naar de browser.

Import in batches en hervatten

Handmatige imports verlopen in opeenvolgende AJAX-batches, met een voortgangsbalk en tellers in real time (OK, fouten, totaal). Na elke batch wordt de exacte positie onthouden: een bestand van enkele tienduizenden regels importeert zonder een PHP-timeout te veroorzaken, ook op gedeelde hosting. In de cronmodus loopt de verwerking synchroon door tot de laatste regel.

Export

Maak een exportprofiel door de entiteit te kiezen (producten, categorieën, klanten of bestellingen), het formaat (CSV of XML) en de velden die u wilt meenemen. Het aangemaakte bestand wordt meteen aangeboden om te downloaden en/of automatisch op de ingestelde externe bestemming geplaatst. De exports worden in batches opgebouwd, zodat ze ook bij grote volumes vlot blijven.

Planning (cron)

Wilt u een profiel automatiseren, schakel dan zijn planning in (stap 4) en roep de cron-URL van de module regelmatig aan. Bij elke aanroep draaien alleen de profielen waarvan de frequentie is verstreken.

*/15 * * * * curl -s "https://uw-winkel.nl/index.php?fc=module&module=dfcsvpro&controller=cron&token=UW_TOKEN" > /dev/null

De exacte URL en het token staan in het tabblad Scheduling / Cron van de module, met een knop om het token opnieuw aan te maken. Er zijn twee optionele parameters:

  • &id_profile=N: voert alleen het opgegeven profiel uit.
  • &force=1: slaat de frequentiecontrole over en start het profiel meteen.

De winkel moet bereikbaar zijn opdat de cron zou werken: de onderhoudsmodus blokkeert de frontcontrollers, ook dit endpoint.

Logboeken en e-mailwaarschuwingen

Elke uitvoering komt in het logboek met haar status, haar tellers en het detail van de fouten per regel (de eerste 200). Het tabblad Logs toont de historiek en laat u de fouten van een import bekijken. Zodra een import mislukt of foutieve regels bevat, vertrekt er automatisch een e-mailwaarschuwing (sjabloon in FR of EN) naar het adres uit de instellingen.

Instellingen

In het tabblad Instellingen schakelt u de e-mailwaarschuwingen in of uit, bepaalt u het ontvangende adres, de standaard batchgrootte en de bewaartermijn van de logboeken (oudere logs worden automatisch gewist). De tijdelijke import- en exportbestanden worden na 48 uur opgeruimd.

XML-formaat

Bij een XML-import wordt het herhaalde itemknooppunt automatisch herkend (of in het profiel opgegeven). De items worden platgeslagen: geneste elementen worden kolommen ouder/kind, attributen worden @attribuut, en herhaalde elementen krijgen het achtervoegsel naam#1, naam#2. Die platgeslagen kolommen koppelt u daarna net als bij een CSV.

Compatibiliteit en technische opmerkingen

  • Geschikt voor PrestaShop 8.0 tot 9.x, PHP 7.4 tot 8.3, en multistore.
  • CSV: automatische herkenning van het scheidingsteken, omgang met de BOM, en omzetting van de coderingen ISO-8859-1 en Windows-1252.
  • Klanten worden geïmporteerd met een wachtwoord dat met bcrypt is gehasht en worden op naam aan een groep gekoppeld.
  • Geen enkele override van de kern; de legacy AJAX volgt de conventies van PS9.

Problemen oplossen

De interface van de module blijft leeg of de keuzelijsten vullen zich niet. Leeg de PrestaShop-cache en herlaad de browser geforceerd (Ctrl+Shift+R). Draait er een cache- of CCC-beheerder, bouw dan de assets opnieuw op.

SFTP mislukt. Controleer of de PHP-extensie ssh2 op de server is geïnstalleerd; zo niet, gebruik dan FTP of een URL.

De cron gaat niet af. Controleer het token, ga na of de winkel niet in onderhoud staat, en of het profiel wel een ingeschakelde planning en een automatische bron heeft (profielen met een handmatige upload zijn niet in te plannen).

Er zijn regels met een fout. Open het detail van het logboek: elke fout vermeldt het regelnummer en de oorzaak (een ontbrekende sleutelkolom, een ongeldige waarde en zo verder).

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support