Magento: Eigenen Block aufrufen und ausgeben
Nach langer Zeit der Pause hier mal wieder ein kleiner Praxis-Tipp. Diesmal geht es um das Open-Source Shop-System Magento.
Um in Magento einen Block in eine Template-Datei einzubinden, bedarf es nicht unbedingt einer Änderung an den Layout-XML Dateien (liegen im Ordner app/design/frontend/default/deintheme/layout/). Mit 3 Zeilen PHP-Code geht es oft schneller als per XML und man muss sich keine Gedanken über eventuelle Namenskonflikte mit anderen Blöcken machen.
Der Code
<?php
$block = $this->getLayout()->createBlock('core/template');
$block->setData(array('template' => 'pfad/zur/datei.phtml'));
echo $block->toHtml();
?>
Erläuterung
In der ersten Zeile wird ein Block vom Typ Core/Template erstellt und mit der Funktion $block-$gt;setData() setzten wir alle benötigten Optionen, hier können alle Parameter gesetzt werden, die wir auch direkt in der XML-Datei setzten würden. Mit dem Parameter ‘template’ => ‘pfad/zur/datei.phtml’ sagen wir Magento, welche Datei es für diesen Block einzubinden hat. Die Pfadangabe geht immer vom Template-Root aus – wenn eure Datei für den Block als im Verzeichnis app/design/frontend/default/deintheme/template/eigenecodes/ ist als Pfad eigenecodes/datei.phtml einzutragen.
Mit echo $block-$gt;toHtml() wird der Inhalt der Datei letztendlich ausgegeben.
Fragen? Freue mich über Kommentare
Links zum Thema
Website von Magento