Magento 2
Welkom bij de handleiding van de Clonable integratie voor Magento 2.
Download en ondersteunde versie
De Clonable extensie is alleen beschikbaar voor Magento 2, een Magento 1 variant bestaat niet. De extensie is te installeren via onze composer repository. We raden aan om de laatste (niet-beta) versie te gebruiken.
Installatie
Voordat je aan de slag gaat met het installeren van de extensie, raden we aan om het eerst de testen op een staging/test omgeving van je webshop.
Zorg ervoor dat je een SSH connectie opent met je Magento installatie om de volgende stappen uit te kunnen voeren. Onderstaande commando's dienen uitgevoerd te worden in de directory van je Magento 2 installatie.
Stap 1. Voeg de Clonable composer repository toe en installeer hem.
composer config repositories.clonable composer https://composer.clonable.net/
composer require clonable/clonable-magento2
composer install
Stap 2. Activeer de module en update the Magento setup
bin/magento module:enable Clonable_Translator
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy
Configuratie
API sleutel en synchronisatie
Voordat de plug-in geactiveerd kan worden voor een storeview moet je de API sleutel invullen.
- Ga naar de configuratie van je storeview: Stores → Configuration → Clonable → Translator → General Settings
- Binnen clonable kun je API sleutels aanmaken bij de instellingen van je profiel. Klik hiervoor op je naam rechtsboven in de Clonable interface en vervolgens op profile.
- Vul binnen Magento de API sleutel in en sla de instellingen op.
- Klik vervolgens op Update Site Info. De informatie van je clone zou nu boven de Update Site Info knop moeten staan.
- Je zou hier de Site ID, Clone ID, Original Language en Target Language moeten zien.

Overige instellingen
Na het koppelen van de plug-in via de API key, kun je middels de andere instellingen bepalen wat de plug-in doet. Hieronder staat per instelling de functionaliteit uitgelegd.
General Settings
- Enable module: Zet de Clonable module helemaal aan of uit.
- Override translation dictionary: Zorgt ervoor dat de juiste Magento language packs worden ingeladen voor de storeview, ook al zijn deze niet geïnstalleerd.
Product translations
- Enable Translate URL key: Ze de URL vertalingen van de producten aan of uit.
- URL key Scope Check: Dit is niet echt een instelling, maar geeft aan of the URL key scope van je producten correct staat geconfigureerd zodat URLs vertaald kunnen worden.
- Enable Auto translate: Zet het vertalen van de producten aan of uit. Als die aanstaat betekent het dat de product titels en URLs (mits aangezet) vertaald worden.
- Use name-based url key translations: Als het aanstaat, worden de product urls gebasseerd op vertaalde product titels. Anders worden de product URls vertaald op basis van de default URL key.
Category translations
- Enable Translate URL key: Zet de URL vertalingen van de categorieën aan of uit.
- Enable Auto Translate: Zet de vertalingen van de categorieën aan of uit.
- Translate all categories: Zorgt ervoor dat alle categorieën worden vertaald. Na het klikken op de knop krijg je een pop-up waarin je de override exclude from auto-translation nog kunt aanvinken, deze instelling geeft de optie om categorieën die al vertaald zijn, opnieuw te vertalen (aangevink betekend opnieuw vertalen).
Geavanceerde configuratie
Magento gebruikt cron-gestuurde achtergrond taken, de standaardconfiguratie is één enkele crontab-regel:
* * * * * bin/magento cron:run
die, naast andere cron-taken, elke minuut de consumers_runner-taak uitvoert. Magento’s ConsumerRunner pakt vervolgens elke geconfigureerde consumer één voor één op.
Voor elke consumer haalt hij berichten van de queue (tot de ingestelde batch size), verpakt ze in een QueueInterface, en roept daarna de process($maxMessages)-methode van je consumer aan.
Als je only_spawn_when_message_available=1 inschakelt, zal Magento inactieve consumers overslaan wanneer hun queues leeg zijn. Zie: Hypernode Docs: configure only_spawn_when_message_available
In een production-omgeving kun je ofwel vertrouwen op cron, of elke consumer laten draaien onder een supervisor (zoals systemd of supervisord). Magento’s runner reageert netjes op OS signals (SIGTERM) voor een correcte shutdown, en zal automatisch afsluiten bij het bereiken van het ingestelde memory limit of na het verwerken van een bepaald aantal berichten.
Aangepaste consumer configuratie
Magento laat je de queue consumer runners configureren via het env.php-bestand. Zie: Adobe Commerce Docs: manage message queues
Als je de consumers hebt ingesteld via de cron_consumers_runner-instellingen, moet je ervoor zorgen dat je de custom Clonable consumers ook aan deze lijst toevoegt. Dat ziet er bijvoorbeeld zo uit:
'cron_consumers_runner' => [
'cron_run' => true,
'max_messages'=> 2000,
'consumers' => [
'product_action_attribute.update',
'product_action_attribute.website.update',
'exportProcessor',
'codegeneratorProcessor',
// Clonable Custom Consumers
'clonable.translator.product.consumer',
'clonable.translator.category.consumer',
'clonable.translator.cms.consumer',
]
],
Je kunt er ook voor kiezen om de consumers-array volledig weg te laten. In dat geval worden automatisch alle Clonable consumers ingeschakeld.
Gebruik van de plugin
Het doel van de plugin is het vertalen van de producten en de categorieën van je storeview die met Clonable verbonden zijn.
Producten vertalen
Producten in de Magento backend kunnen handmatig en automatisch worden vertaald.
Handmatig
Je kan producten via de Catalogus → Producten in bulk vertalen. Dit kun je doen door een selectie van producten te maken, en vervolgens met de actie dropdown via Translate Product of Force Translate Products te vertalen. Het verschil tussen deze 2 opties is dat de Force veriant ook bestaande vertalingen overschijft.
Je hebt ook de mogelijkheid om op de product pagina zelf de Run Translations knop te gebruiken, deze zorgt ervoor dat het product altijd wordt vertaald.

Automatisch
Om ervoor te zorgen dat je producten niet altijd handmatig hoeft te vertalen, heeft Clonable ook Observers toegevoegd. Deze kijken of een product wordt opgeslagen of geïmporteerd en op basis daarvan een vertalingen aanmaken. Er wordt altijd gecontroleerd of een product als vertaald is, zodat producten niet meermaals vertaald worden.
Categorieën vertalen
Categoríeën moeten handmatig via de instellen worden vertaald. Zie de Translate All Categories instellingen in je store configuratie.

Logs en foutopsporing
Het kan voorkomen dat er dingen fout gaan tijdens het automatisch vertalen van een product, het kan bijvoorbeeld zijn dat een URL rewrite niet kan worden aangemaakt omdat die al bestaat. Om ervoor te zorgen dat het makkelijk is om dit soort fouten op te sporen kun je 2 logs gebruiken.
- Backend Logs: Deze zijn te vinden via Stores → Configuration → Clonable → Logs. Je kan hier op Check the logs klikken, waarna je ander scherm wordt gestuurd. Hierin kun je "gebruiksvriendelijke" logs zien. Hierin staan meldingen om product/categorie batches die succesvol zijn vertaald, of juist errors wanneer er dingen fout gaan tijdens het vertalen.
- Log bestand: Dit zijn de uitgebreide logs van Clonable en zijn alleen benaderbaar via een SSH of SFTP verbinding met de server. Deze logs geven een uitbreid beeld van wat Clonable op de achtergrond doet. Het bestand is te vinden in je Magento directory onder
/var/log/clonable_translator.log
Het komt voor dat Clonable om de logs vraagt om problemen op te lossen.