Vom: 25.11.2011

Document programmatisch rendern in Pimcore

Manchmal kommt man in die Verlegenheit, in Pimcore ein HTML-Seite mit variablen Inhalten erstellen zu müssen, die nicht zum "normalen" Seitenportfolio gehört - beispielsweise ein HTML-Newsletter. Pimcore kann aber Documents auch ausserhalb des normalen Dispatch-Vorgangs der Seitenerzeugung  verarbeiten. Hierfür kennt der Document_Service von Pimcore die statische Methode render(). Dieser kann das gewünschte Dokument sowie ggf. seine Parameter übergeben werden:

$document = Document::getById($id)
$params = array("blah" => "fasel");
$output = Document_Service::render($document, $params);

In $output steht dann die fertige Ausgabe in HTML als String, die zur weiteren Verarbeitung genutzt werden kann. Das Rendern erfolgt dabei aber ohne das Layout! Wer also einen vernünftigen Header für einen Newsletter braucht muss sich selbst kümmern.