Tre buggar i Magento 2 som kan kosta dig dagar

Det finns buggar i Magento. Överallt. Nedan är några buggar som finns Magento 2, upp till åtminstone 2.17.

Statiskt innehåll genereras inte – sidan visas utan CSS och JS

I kommandotolken ska kommandot Magento static:content:deploy generera allt innehåll i foldern /pub/static/. Detta är problemtaiskt eftersom det ibland är önskvärt att radera allt innehåll i den mappen. Använder du ett anpassat tema, som bara innehåller layout-filer, så kommer Magento hoppa över ditt tema. För att komma runt problemet kan du:

    • Lägg in dummy-innehåll i tema-mappen, t.ex. media/dinbild.png.
    • Kör kommandot, men specificera vilket tema och språk (sv_SE för svenska).
      • magento setup:static-content:deploy --languages sv_SE --theme Kind/temanamn

Hur ser det ut om du har gått på den här buggen? Sidan visar bara grundläggande html, den ser blank eller naken ut. Använder du Chrome, kan du genom att högerklicka, välja inspect och gå in i fliken Console, där kommer du se 404-error på CSS-filer och eventuellt JS-filer.

Här kan du läsa på GitHub.

Lägg till i varukorgen och mini-varukorgen fungerar inte

Om du använder ett tema som ärver från blank eller luma, och inget händer när du trycker på Lägg i varukorgen / Add to cart, eller om inget händer när du trycker på kundkorgen i det högra övre hörnet, är det mycket troligt att du har ett fel i JS.  Använder du Chrome, kan du genom att högerklicka, välja inspect och gå in i fliken Console, där kommer du se ett uttryck i stil med Fatal error: Uncaught exception.

En förklaring kan vara att ditt välkomst-meddelande innehåller udda tecken, t.ex. ‘ (apostrof). Lösningen är att ändra ditt välkomst-meddelande, genom att ta bort special-tecken eller genom att ange HTML-koden för tecknet. ‘ representeras av '

Blocket product_list_toolbar går inte att ta bort genom Layout update

En väg för att uppdatera innehåll på Magento är att använda Custom Layout Update. Varje element har olika namn och det går att lägga till, flytta eller ta bort block. Ett lite mer problematiskt block är product_list_toolbar. Följande kod borde ta bort det blocket:

<referenceBlock name=“product_list_toolbar” remove=“true” />

Nu händer dock ingenting. Det är lätt att tro att du gjort fel – men det råkar vara så att Magento initierar det igenom om du tagit bort det.

Läs mer här och se GitHub. För att komma runt problemet behöver du skriva över den filen (block-fil) som har problemet. Det gör du i ditt anpassade tema.

Mejla för hela lösningen.