Naar hoofdcontent

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​

Gebruik een staging omgeving

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 repository toevoegen en installeren
composer config repositories.clonable composer https://composer.clonable.net/
composer require clonable/clonable-magento2
composer install

Stap 2. Activeer de module en update de Magento-instellingen

Module activeren
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.

  1. Ga naar de configuratie van je storeview: Stores → Configuration → Clonable → Translator → General Settings
  2. 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.
  3. Vul binnen Magento de API-sleutel in en sla de instellingen op.
  4. 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.

Magento extensie installatie

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​

  1. Enable module: Zet de Clonable module helemaal aan of uit.
  2. 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​

  1. Enable Translate URL key: Zet de URL-vertalingen van de producten aan of uit.
  2. URL key Scope Check: Dit is niet echt een instelling, maar geeft aan of de URL key scope van je producten correct staat geconfigureerd zodat URL's vertaald kunnen worden.
  3. Enable Auto translate: Zet het vertalen van de producten aan of uit. Als die aanstaat betekent het dat de producttitels en URL's (mits aangezet) vertaald worden.
  4. Use name-based url key translations: Als het aanstaat, worden de product-URL's gebaseerd op vertaalde producttitels. Anders worden de product-URL's vertaald op basis van de default URL key.

Category translations​

  1. Enable Translate URL key: Zet de URL vertalingen van de categorieën aan of uit.
  2. Enable Auto Translate: Zet de vertalingen van de categorieën aan of uit.
  3. 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 (aangevinkt betekent 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:

/app/etc/env.php
'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 kunt 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 twee opties is dat de Force-variant ook bestaande vertalingen overschrijft.

Je hebt ook de mogelijkheid om op de productpagina zelf de Run Translations-knop te gebruiken, deze zorgt ervoor dat het product altijd wordt vertaald. Run translations knop

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 maken op basis daarvan een vertaling aan. Er wordt altijd gecontroleerd of een product al is vertaald, zodat producten niet meermaals vertaald worden.

Categorieën vertalen​

Categorieën moeten handmatig via de instellingen worden vertaald. Zie de Translate All Categories instellingen in je store configuratie.

Categorie vertalingen knop

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 twee logs gebruiken.

  1. Backend Logs: Deze zijn te vinden via Stores → Configuration → Clonable → Logs. Je kunt hier op Check the logs klikken, waarna je naar een ander scherm wordt gestuurd. Hierin kun je "gebruiksvriendelijke" logs zien. Hierin staan meldingen over product/categorie batches die succesvol zijn vertaald, of juist errors wanneer er dingen fout gaan tijdens het vertalen.
  2. Logbestand: Dit zijn de uitgebreide logs van Clonable en zijn alleen benaderbaar via een SSH- of SFTP-verbinding met de server. Deze logs geven een uitgebreid 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.