FOL9000

Artikel-Liste weg? Erlaubte Blöcke auf Magento CMS-Seiten

von

Mittlerweile ist ja schon Magento 2 raus, aber sicher werden noch lange viele Magento-Shops des 1.x-Zweiges laufen. Wer von einer älteren Version auf eine neuere 1.9er-Version updatet oder den Patch SUPEE-6788 einsetzt, kann dabei eine kleine Überraschung erleben. Denn werden auf einer CMS-Seite, z.B. auch auf der Home-Page, bestimmte Blöcke eingesetzt, kann es sein, dass die Blöcke nicht angezeigt werden weil der Block-Code gar nicht erst ausgeführt wird. Häufig wird dies z.B. bei Artikel-Listen (Neue Artikel, Features etc.) der Fall sein. Der Grund, warum solche und andere Blöcke häufig erst einmal nicht dargestellt werden, ist ein neues Sicherheitsfeature von Magento. Die Lösung ist dabei ganz einfach.

In vielen Shops werden z.B. auf der Homepage Artikel-Listen und ähnliche Blöcke direkt eingefügt, z.B. so:

{{block type="catalog/product_list" name="mylist" category_id="123" template="catalog/product/mylist.phtml"}}

Hier würden alle Artikel der Kategorie ‚123‘ eingefügt und vom Template mylist.phtml dargestellt. Dies ist nur ein Beispiel; es geht dabei darum, dass auf einer CMS-Seite ein Block eines bestimmten Typs (catalog/product_list) direkt eingefügt wird.

Lange war sowas problemlos möglich, aber ein neueres Sicherheits-Feature von Magento macht hier einen weiteren Schritt nötig, damit diese Liste wie gehabt dargestellt wird. Dieses Feature ist seit dem Patch SUPEE-6788 aktiv, außerdem natürlich in Magento-Versionen, die diesen Patch bereits enthalten.

Mit diesem neuen Feature müssen alle Block-Typen, die auf einer CMS-Seite benutzt werden dürfen, explizit in einer Whitelist freigegeben werden.

Einen neuen Block dieser Whitelist hinzuzufügen ist ganz einfach: Unter System → Berechtigungen → Blocks findet sich die besagte Whitelist der erlaubten Block-Typen. Hier lässt sich im Problemfalle ganz einfach ein neuer Block-Typ hinzufügen. Der Typ catalog/product_list aus dem obigen Beispiel ist z.B. zunächst nicht in dieser Whitelist, weswegen er auch nicht genutzt und angezeigt würde.

Ähnliche Einschränkungen gelten im übrigen auch für Variablen und die Email-Templates, weswegen nach einem Patch oder Update nicht nur die CMS-Seiten geprüft werden sollten, sondern auch die Shop-Emails. Das Vorgehen ist dann immer, wie beschrieben: Nach Hinzufügen des Block-Typs oder der Variablen zur Whitelist sollte er wieder angezeigt werden.

Kommentare sind geschlossen.