# Foutmeldingen binnen Magento oplossen

Soms kom je foutmeldingen tegen in Magento die niet direct zijn op te lossen. Soms zijn er wel workarounds beschikbaar. Als we een dergelijke oplossing vinden, zetten we die hier neer.

# Unique constraint violation

Deze fout treedt wel eens op bij het toevoegen van foto's aan categorieën. Het probleem zit in de urlkey bij de categorie die je probeert op te slaan. Magento ziet niet dat deze al bestaat terwijl deze al wel in de database bestaat, vervolgens zegt de database heel terecht dat hij deze url al wel heeft en geeft de unique constraint error terug.

Het is een probleem dat al langere tijd in Magento zit, ongeveer sinds 2016. Daarbij lost Magento delen op maar het is nog steeds niet helemaal opgelost. Wat ik uit de Magento community begrijp, speelt het probleem nu vooral nog bij Magento installaties waarbij er gebruik gemaakt wordt van extern aangemaakte categorieën, zoals gebeurt in Unishop dus.

# De oplossing

Als je de volgende stappen volgt, zou je de categorieën op moeten kunnen slaan met de gewenste URL

  1. Ga naar Marketing > SEO & Search > URL Rewrites
  2. Klik op Filters
    • Selecteer de storeview
    • Typ bij request path de URL van de categorie in
    • Klik op Apply Filters
    • Je zou in de volgende lijst de categorie URL moeten zien
  3. Vink in de meest linkse kolom de regel aan met de url van je categorie
  4. Klik op Actions en selecteer Delete. Hiermee wordt de bestaande url verwijdert.
  5. Ga terug naar de categorie die je wilde bewerken en pas de url aan (zet er bijvoorbeeld een 1 achter). [Catalog > Categories > … > “Vrijwaringsverklaring” > Search Engine Optimization]
  6. Zet “Create Permanent Redirect for old URL” uit
  7. Sla de categorie op.
  8. Pas nogmaals de urlkey bij de categorie aan. (verander deze nu in wat je wel wilt hebben).
  9. Zet “Create Permanent Redirect for old URL” uit
  10. Sla de categorie op.

Het uitzetten van de “Permanent Redirect” is heel belangrijk, anders blijft na stap 7 de kapotte url bestaan en na stap 10 de tijdelijke url.

Uitzondering hierop is de urlkey. Als je die aanpast heb je het risico dat je de melding weer krijgt.