Titel der eMail bei Preisalarm an Kunden ändern

Hallo in die Runde,

ich habe mir die Preisalarm-Mail, die der Kunde erhält, wenn der Preis erreicht ist, angepasst. Momentan scheitere ich noch am eMail-Titel -> sprich am Betreff. Der wird permanent ignoriert, so sieht es im Template derzeit aus:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>[{ oxmultilang ident="EMAIL_PRICEALARM_CUSTOMER_PRICEALARMIN" }][{ $oPriceAlarm->getTitle() }] bei [{ $shop->oxshops__oxname->value }]</title>
<meta http-equiv="Content-Type" content="text/html; charset=[{$oEmailView->getCharset()}]">
</head>

Habe ich jetzt einen Denkfehler, wird das woanders eingestellt? In der Mail, die ich mir selber sende, steht immer nur der Shopname im Betreff… :confused:

Wäre schön, wenn da einer weiterhelfen könnte. Danke im voraus.

PS: Achso, tmp natürlich immer geleert, wenn gebastelt…

Ich glaube der Betreff wird in einer php mit $Subject erzeugt. Welche es in Deinem Fall ist kann ich nicht sagen, hier spielt wohl auch noch die Shopversion eine Rolle.

Best Wüsches … :wink:

hmm, vlt. weiß ja einer der OXID-“Durchschauer” :smiley: was genaueres… Huhu, Marco, Hebsacker, TomLong, Coarsy… hab natürlich die Hälfte vergessen zu erwähnen.

Wäre schön, wenn ich das gelöst bekäme. Da kommt der kleine Perfektionist durch bei mir :smiley:

Ich kann das nur bestätigen, habe aber bisher noch keine Lösung gefunden.
Es geht wohl um diesen Code:

[{ oxmultilang ident=“EMAIL_PRICEALARM_CUSTOMER_PRICEALARMIN” }]

In dem Backend-Editor wird noch alles richtig angezeigt, aber in der e-mail ist es dann verschwunden.

Ich habe eine Variable “EMAIL_PRICEALARM_CUSTOMER_PRICEALARMIN” in der lang.txt angelegt, aber trotzdem bleibt der Titel der e-mail leer.

Hallo Michael

Änderungen in den Sprachvariablen bitte immer in der cust_lang.php im Verzeichnis application/views/azure/de .
Änderst Du oder fügst in der lang.php hinzu würde beim nächsten Update alles überschrieben. Füge also in der cust_lang.php die folgende Zeile hinzu:

‘EMAIL_PRICEALARM_CUSTOMER_PRICEALARMIN’ => “Dein Text…”

dann tmp Ordner leeren. Jetzt sollte die Änderung sichtbar sein

LG Pasquale

na ja, die Sprachvariable ‘EMAIL_PRICEALARM_CUSTOMER_PRICEALARMIN’ wir aber wohl nicht als Betreff (Subject) der eMail genommen, oder?

Die Frage ist nun, wo wird der Betreff generiert bzw. gesetzt?

Hallo Pasquale,

ich hätte es in der cust_lang speichern müssen.

Hallo oberleiner,

kann es sein, daß in der
public function sendPricealarmToCustomer aus der oxemail.php Zeile 1360 ff.
vergessen wurde, einen headerLine zu definieren?

keine Ahnung, das war ja mein Problem, dass ich nicht weiß, wo der Betreff erzeugt wird. Rein logisch wäre die oxemail.php sicher der richtige Ort. Aber da hatte ich eben nix gefunden, was den Betreff für die customer-Mail erzeugt.

Bei mir steht derzeit nur der Shopname als Betreff.

Hoi,

das sieht mir tatsächlich nach einem Bug aus. Trägt ihn jemand ein?

Danke und Gruß

haste einen wörk-ä-raund? :smiley:

Nee, leider nicht. Hab auch momentan leider keine Zeit, mir das genau anzuschauen :frowning:

Gruß

Moin Ihrs,

also ich weiss noch nicht mal, ob das wirklich ein Bug ist…
Bei einem unserer Module (Verfügbarkeitsbenachrichtigung) haben wir ja auch die Preisalarm-Funktion missbraucht/überschrieben.
Und da lies sich auch der Mail-Titel problemlos über die lang-Dateien ändern, ich hab aber im Mom leider keine Zeit, um mir das mal genau anzusehen…

Beste Grüsse

Thomas

Ahoi

In der oxemail.php (Funktion endPricealarmToCustomer) in Zeile 1409 steht folgendes:


  $this->setSubject( $oShop->oxshops__oxname->value );

Hier wird der Subject für die eMail definiert, hier der Shopname.
Man könnte nun in der cust_lang.php eine eigene Variable definieren und hier einfügen. Beispiel (ungetestet!! :rolleyes:):


$this->setSubject ($oLang->translateString( 'EMAIL_PRICEALARM_SUBJECT_ANKUNDE', $iAlarmLang ));

Hoffe das hilft für einen Lösungsansatz :smiley:

LG Pasquale

das ist auf alle Fälle die richtige Stelle, aber das Beispiel klappt noch nicht so richtig. Das Template im Admin wird nicht mehr geladen. Habe ein wenig hin und her probiert, auch mal das subject von Betreff für die Customer-Mail probiert. Hat leider auch nicht geklappt…

Hallo Oberleiner

Das Problem an meinem Beispiel ist das in dieser Funktion die Übersetzungsfunktionen nicht zur Verfügung stehen. Die angelegte Variable in der cust_lang.php kann nicht angesprochen werden. Der Aufruf der Übersetzungsfunktion verursacht den Fehler, weil dieses Objekt nicht zur Verfügung steht…
Man korrigiere mich falls ich falsch liege :o

Habs mal mit diesem versucht, ist halt etwas rudimentär aber es funktioniert:


$this->setSubject( "Dein Pricealarm Text" ); 

So auf die schnelle ist mir noch keine bessere Lösung eingefallen. Als Idee:
mit diesem Befehl kann die Sprach-ID abgefragt werden:


$oAlarm->oxpricealarm__oxlang->value

mit einer if Verzweigung könnte man anhand der ID’s einen Text in der entsprechenden Sprache einer Variable zuordnen. Diese dann in setSubject einfügen also inetwa so:


$this->setSubject( meineSubjectVariable ); 

Das ganze könnte man dann noch in ein Modul packen, dann wirds updatesicher…

LG Pasquale

Hallo Paquale,

ich versuch mal die rudimentäre Lösung - mit Modul hab ich nicht so Plan… Aber danke, danke.

Ich verstehe nur nicht, warum von Oxid her der Shopname als Betreff genommen wurde, macht ja überhaupt keinen Sinn. Und wenn so eine Preisalarm Mail bei mir als Kunde nach z.B. 3 Monaten ankäme, wüßte ich nicht mehr, dass ich da mal was gemacht habe und würde das glatt als Spam löschen… Von daher eben eher suboptimal.