E-Mail Translation in Schleife verändert

Hallo

ich versuche seit einigen Stunden eine E-Mail in verschiedenen Sprachen abzuschicken in einer Schleife.

Es handelt sich um die funktion oxemail -> sendOrderEmailToUser( )

Ich bekomme es jedoch nicht hin… Ich habe schon vieles versucht:

  • Ich hab in der Schleife den Cache geleert.
  • Ich hab in der Schleife das ‘oxorderlang’ Feld geändert vor dem abschicken der Mail.
  • Ich hab natürlich Base und Tpl Sprache per Funktion geändert…
  • Ich hab die oxShop -> setLanguage() funktion aufgerufen…

Aber nichts passiert. Kann mir jemand helfen? Ich weiß hier keine Lösung mehr.

Das ganze wird für ein UnitTest gebraucht.

for ($iLangId = 0; $iLangId < 7; $iLangId++) {

      // Delete Cache:
      myHelper::deleteCache();

      // Setze Sprachen auf alle erdenklichen Möglichkeiten...
      oxLang::getInstance()->setBaseLanguage($iLangId);
      oxLang::getInstance()->setTplLanguage($iLangId);

      oxConfig::getInstance()->getActiveShop()->setLanguage($iLangId);

      // Lade Order:
      $oOrder  = oxnew('oxorder');
      $oOrder->load($sOxOrderId);
      
      // Ändere auch die Order Sprache...
      $oOrder->oxorder__oxlang = new oxField( $iLangId );

      // Sende eMail
      $oEmail  = oxnew('oxemail');
      $oEmail->sendOrderEmailToUser($oOrder);
}