Variablen im Visual CMS

Hi, ich versuche in einem Controller in meinem Modul emails zu versenden. Diese sollen aber von Sachbearbeitern selbst bearbeitet werden können.

Ich versuche also visual CMS content wie folgt zu laden.

$oMailContent = oxNew('oxcontent');

        $oMailContent->loadByIdent('gg_marktplatz_order_html');

        $this->setBody($oMailContent->oxcontents__oxcontent->value);

Wenn ich dann folgenden text im visual CMS eingetragen habe tauscht er mir die Variablen nicht aus, obwohl der controller zugriff auf diese hat.

Vielen Dank für Ihre Bestellung!

Ihre Bestellnummer bei uns: [{$oOrder->oxorder__oxordernr->value}]

Ihre Bestellnummer bei Check24: [{$oOrder->oxorder__ggcheck24ordernr->value}]

Damit die Variablen durch den Inhalt ersetzt werden, muss der Code geparst werden, sonst ist es nur der Quelltext.
$content = oxRegistry::get("oxUtilsView")->parseThroughSmarty( $content, $sIdent.md5($content), $myConfig->getActiveView() );

1 Like

Das funktioniert mit allen Variablen die ich aus dem Objecten lade, danke.
Wenn ich jetzt aber
$i = 1;
mache bevor ich dein snippet benutze ersetzt er diese Variablen nicht.
Hab schon die üblichen verdächtigen ausprobiert um das $myConfig zu erweitern. Gibts da ne extra oxid function für oder wie würdest du das machen?

EDIT: mit str_replace gehts natürlich, aber wäre halt super, wenn man das ordentlich hinbekommen könnte

EDIT2: $this->setViewData( “sOrderNumber”, $sOrderNumber); is the answer