Iedere Joomla-bouwer kent de pijn. Je moet een site migreren of vullen met content, maar de standaard tools schieten tekort. Artikelen importeren is meestal geen probleem, maar zodra je met Custom Fields werkt, wordt het vaak handwerk. En laat YOOtheme Pro nu net zwaar leunen op die combinatie van artikelinhoud en extra velden voor dynamic content.
In dit artikel kijken we naar een lichtgewicht, open-source oplossing die vaak over het hoofd wordt gezien: de Custom Fields Import (CFI) tool van WebTolk. Geen dure abonnementen, maar code die gewoon doet wat het moet doen. Zo is jouw migratie snel weer on the dot.
Het probleem: waarom standaard import faalt bij YOOtheme Pro
Om te snappen waarom dit script zo handig is, moeten we even kijken naar hoe YOOtheme Pro data opslaat.
- De layout (JSON): YOOtheme slaat de volledige opmaak van je pagina, zoals secties en grids, op als een JSON-string in de introtext of fulltext van het Joomla-artikel.
- De data (dynamic content): Specifieke waardes zoals een prijs, datum of extra afbeelding staan vaak in Joomla custom fields.
Standaard import-tools en zelfs extensies als J2XML vergeten soms de koppeling tussen het artikel en de waardes in de database. Of ze importeren de JSON-code verkeerd, waardoor de YOOtheme Pro builder breekt. Dat is natuurlijk niet het punt waar je op zit te wachten.
De oplossing: WebTolk/cfi
De tool WebTolk/cfi op GitHub is een fork van een ouder script. Het is geoptimaliseerd om artikelen te importeren vanuit een CSV-bestand waarbij de kolomnamen direct overeenkomen met je custom fields.
Dit script werkt perfect voor YOOtheme Pro omdat het agnostisch is. Het kijkt niet naar de inhoud, maar pakt de data van kolom A en stopt die in databaseveld A. Zolang je CSV-formatting klopt, wordt de YOOtheme JSON-code één-op-één in het artikel geplaatst en blijven je layouts intact. Omdat het script rechtstreeks naar de native Joomla-tabellen schrijft, zijn de waardes direct beschikbaar voor dynamic content.
Stap-voor-stap de workflow
Wil je honderden pagina's inclusief YOOtheme Pro layouts en velden importeren? Zo pak je dat tot in de puntjes aan.
1. De voorbereiding
Download de zip-file van GitHub en installeer deze via Systeem > Extensies > Installeren. Er is vrijwel geen configuratie nodig.
2. Het CSV-bestand (het belangrijkste punt)
Hier maken de meeste mensen fouten. Je CSV moet exact goed opgebouwd zijn, want de headers van je kolommen zijn leidend.
- title: Titel van het artikel.
- alias: Optioneel. Joomla genereert dit zelf als je het leeg laat, maar voor migraties is dit cruciaal voor URL-behoud.
- catid: Het ID van de categorie waarin het moet komen. Zorg dat deze categorie al bestaat.
- introtext: Hier komt je YOOtheme JSON code of je gewone HTML.
Voor de Custom Fields geldt: heb jij een veld in Joomla met de naam eigenschap-kleur? Dan maak je in je CSV een kolomkop genaamd eigenschap-kleur. Het script herkent de naam en mapt de data automatisch.
3. Import uitvoeren
Ga naar Componenten > Custom Fields Import. Upload je CSV, check de instellingen zoals het scheidingsteken en start de import.
Technische valkuilen
Hoewel het script krachtig is, is het meedogenloos. Let op de volgende punten om te voorkomen dat je site crasht.
- JSON en CSV escaping
YOOtheme content is JSON en dat bevat dubbele quotes. Een CSV-bestand gebruikt óók dubbele quotes om tekstvelden te omsluiten. Dat gaat fout als je niet oppast. Je moet de quotes in je JSON escapen door ze te verdubbelen in je CSV. Een JSON string als {"key": "value"} moet in je CSV-cel staan als: "{""key"": ""value""}". - Afbeeldingspaden
Als je migreert van domein A naar domein B, staan in je JSON code vaak nog oude paden. Doe een zoek-en-vervang actie in je CSV-bestand voordat je importeert om paden recht te trekken. - Categorie ID's
Het script maakt meestal geen nieuwe categorieën aan. Het zoekt naar een bestaand ID. Zorg dat je categoriestructuur staat in de nieuwe Joomla installatie voordat je begint.
Veiligheid en herkomst: even opletten
Voordat je enthousiast aan de slag gaat, is een stukje achtergrondinformatie wel zo netjes. De ontwikkelaar van deze fork is WebTolk. Hoewel dat Nederlands klinkt, is dit een Russische partij. In de huidige tijd zijn we daar logischerwijs wat voorzichtiger mee.
Moet je deze tool daarom links laten liggen? Niet per se. Het is open source software, dus de code staat gewoon openbaar op GitHub. Je kunt elke regel PHP-code zelf inspecteren en er zijn geen gekke dingen te vinden.
Wij hanteren hier het zero-trust principe. Wil je profiteren van het gemak, maar geen enkel risico lopen? Volg dan deze werkwijze:
- Backup: Maak altijd eerst een volledige backup van je site.
- Installeren: Installeer de plugin.
- Importeren: Draai de import van je artikelen en velden.
- Verwijderen: Zodra de import klaar is, de-installeer je de component direct weer.
Een import-tool is gereedschap dat je gebruikt en weer opbergt. Zolang je de plugin niet permanent op je live-server laat staan, maken wij er geen punt van. De tijdwinst is het in ieder geval dubbel en dwars waard.
Geschreven door:
Arjan Menger
-
Publicatiedatum21 januari 2026
-
Categorie
Kennis omzetten in resultaat?
Een informatief artikel is een goed startpunt. Maar de echte groei voor je bedrijf zit in de professionele uitvoering. Geen tijd of zin om zelf met de techniek, het ontwerp of de vindbaarheid van je website aan de slag te gaan? Als jouw partner nemen we dit werk graag volledig uit handen. Zo kun jij je focussen op wat echt telt: je onderneming.