a broken cart

MageSetup und SUPEE-6788: Agreements im Checkout leer

Vor kurzer Zeit wurde SUPEE-6788 veröffentlicht, der eine Sammlung verschiedener Patches enthält. Es werden verschiedene Sicherheitsprobleme behoben. Soweit, so gut. Wie schon in den technischen Details zum Patch erläutert, können verschiedene Probleme bei der Abwärtskompatibilität auftreten. Eine dieser Änderungen wirkt sich auch auf MageSetup aus. Die Agreements im Checkout werden nicht angezeigt.

BlockDirektiven werden nicht ausgewertet

Schon GermanSetup hat bei den Checkout-Agreements (Bestellbedingungen) wie den AGBs und der Widerrufsbelehrung einen entsprechenden Text eingeblendet. In den neuen Versionen, also bei MageSetup, wird hier ein PopUp erzeugt. Beide Ansätze haben jedoch eines gemeinsam. Der eigentliche Text ist zentral in einem statischen CMS-Block von Magento abgelegt. Im Inhalt referenziert der Text daher auch nur den Block, bspw.:

{{block type="cms/block" block_id="gs_business_terms"}}

Speziell der Typ “cms/block” ist hier interessant. Sollte der Text in den Agreements nicht angezeigt werden, wird der Block durch die neuen Berechtigungen nicht erlaubt.

Blockberechtigungen und MageSetup

Matthias hat das neue Konzept in einem Artikel zu SUPEE-6788 bei den Webguys wunderbar erklärt. Unter System->Berechtigungen->Blocks werden die erlaubten Blöcke für die blockDirektive freigegeben bzw. verboten. In der Standardinstallation fehlt dort evt. (derzeit) eben genau der oben genutzte Typ, “cms/block”. Die Lösung ist relativ einfach:

  1. Oben rechts einen neuen Eintrag erzeugen (“Neuer Block”)
  2. Den korrekten Block Namen setzen (cms/block)
  3. is Allowed natürlich auf “Ja” stellen

Im Zweifel einmal den Cache leeren und schon werden Inhalte in den Checkout Agreements angezeigt.

Foto: DSCN0695 by Joseph Francis, used under CC BY