Magento – Statischen CMS Block in Seite / Artikelbeschreibung einbauen

Möchte man einen statischen Magento Block in die Seite einbauen, gibt es hierfür verschiedene Möglichkeiten. Entweder über die entsprechende .xml (im Layout Ordner des Templates), direkt über das Template oder auch im CMS selber.

Soll ein Statischer Block direkt in ein CMS (also eine CMS Seite) eingebunden werden, kann dies über folgenden Code geschehen:

{{block type="cms/block" block_id="Ihr_Seitenbezeichner" template="cms/content.phtml"}}

Ihr_Seitenbezeichner ist hierbei jeweils weder der Blocktitel (Name der Seite) noch die Zahl (ID).

Es reicht aber auch

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

Seit Magento 1.9 ist ein häufiger Aufreger, dass man vergisst den Block über System > Berechtigungen > Blocks zu erlauben. Mehr Infos gibt es HIER.

Soll ein statischer Block hingegen z.B. in eine Artikelbeschreibung eingebunden werden, geht dies nicht so einfach, da die Artikelbeschreibung mit dieser Zeile (noch) nichts anfangen kann. Damit auch in der Artikelbeschreibung ein statischer Block eingefügt werden kann, muss zuerst noch die Datei Product.php aus dem Verzeichnis

app/code/core/Mage/Catalog/Model

in das Verzeichnis

app/code/local/Mage/Catalog/Model

kopiert werden und dann folgender Code (am besten vor der letzten abschließenden Klammer) eingefügt werden:

function getDescription()
 {
   $content = $this->getData('description');
   $templateFilter = Mage::getModel('cms/template_filter');
   $cms = $templateFilter->filter($content);
   return $cms;
 }

function getShortDescription()
 {
    $content = $this->getData('short_description');
    $templateFilter = Mage::getModel('cms/template_filter');
    $cms = $templateFilter->filter($content);
    return $cms;
 }

Mit diesem Code kann dann ein statischer Block sowohl im Langbeschreibungs- wie auch Kurzbeschreibungsbereich verwendet werden.

Eine andere Variante der Einbindung von statischen Blöcken ist über die entsprechende XML (z.B. cart.xml) im Layout Ordner. Hier an der gewünschten Stelle folgenden Code einsetzen:

<reference name="content">
<block type="cms/block" name="cms_Ihr_Seitenbezeichner">
<action method="setBlockId"><block_id>Ihr_Seitenbezeichner</block_id></action>
</block>
</reference>

So können einfach Statische Blöcke in den Magento Shop eingebunden werden.

Möchten Sie einen statischen Block in eine (P)HTML Seite einbauen, wie z.B. weitere Informationen zum Versand direkt bei den Versandarten im Checkout, wird in diesem Fall in die shipping-method.phtml an der gewünschtn Stelle folgender Code eingebaut:

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('versandinfos')->toHtml() ?>

wobei “versandinfos” der code des statischen Blocks ist. Hier kann dann jeder andere Code verwendet werden wie natürlich auch andere PHTML Seiten verwendet werden kann.

Update vom 08.09.2021 für Magento 2:

In Magento 2 funktioniert das oben genannte Snippet nicht mehr und es muss ein leicht verändertes verwendet werden. Wenn man dies aber weiß, ist es kein Problem. Man kann aber auch wieder zwei verschiedene Codes verwenden:

{{block class="Magento\\Cms\\Block\\Block" area="frontend" block_id="[CODE DES BLOCKS bspw. agb]"}}
ODER
{{widget type="Magento\Cms\Block\Widget\Block" template="widget/static_block/default.phtml" block_id="[ID DES BLOCKS bspw. 3]"}}

Es muss eben berücksichtigt werden, dass man beim oberen Code den “Code” des Blocks verwenden muss und beim unteren die ID (also die von Magento automatisch vergebene fortlaufende Nummer).

Weiterführende Links:

Statischen Block / Static Block in Seite und phtml einbauen

(Statischen) Block nur auf Homepage zeigen

Statischen Block in den Header einbauen

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2E-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C-, B2B- und B2E-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

4 comments on “Magento – Statischen CMS Block in Seite / Artikelbeschreibung einbauen”

  1. Hallo Covos,

    leider funktioiert Dein Captcha unter dem Beitrag http://www.fly2mars-media.de/seoblog/magento/magento-statischen-cms-block-im-template-ausgeben-101390/ nicht. Daher auf diesem Weg. Ich kämpfe mit meiner Magento Navi und würde gerne die komplette horizontale Hauptnavi ersetzen durch einen statischen Block. Meine Vorgehensweise: einen statischen Block mit dem Seitenbezeichner “navigation” anlegen und in der page.xml den Block ” ” ersetzen durch “navigation”. Leider erhalte ich dann nur noch ein komplett weiße Seite.

    Was ist falsch?

    Herzliche Grüße,
    Marcus

    1. Ene Navigation kann auch gut mit Hilfe von Tabellen in die einzelnen Seiten integriert werden. Die Seitennamen verlinken mit /deine-seiten-url und per copy and paste auch schnell zu vervielfältigen .

    1. Dies ist eine eventuell sinnvolle Extension, sollte es Probleme mit der einfachen Einbindung von statischen Blöcken im Shop geben. Generell empfehle ich aber es zuerst ohne Extension zu versuchen.

Leave a Reply to Doro

Your email address will not be published. Required fields are marked *