Jump to content

[FIX] Mails nach Deutschem Recht


Recommended Posts

Es gib bereits ein Post hierüber, ich picke aber speziell diesen Punkt nochmals raus:

 

 

Um dem Deutschen Recht gerecht zu werden, müsst Ihr noch in allen Mails euer komplettes Impressum überall ganz unten ergänzen und bei der Bestellbestätigung auch noch zusätzlich ein Link zur Widerrufsbelehrung. Link zu AGB wäre auch empfehlenswert, ist aber keine Pflich. Widerruf ist Pflicht.

Link to comment
Share on other sites

Ich habe es folgenderweise gelöst als Quick'n Dirty.

Wer will kann es ja noch anpassen und ändern zb als Override wenn möglich.

 

In classes/Mail.php in Zeile 190 habe ich folgendes Hinzugefügt

####
$templateVars['{imprint_de}'] = "<pre>";
$templateVars['{imprint_de}'] .= "Impressum:\n";
$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR1'))."\n";
$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR2'))."\n";
$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CODE'))." ";
$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CITY'))."\n";
$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_COUNTRY'))."\n";
$templateVars['{imprint_de}'] .= "TEL:".Tools::safeOutput(Configuration::get('PS_SHOP_PHONE'))."\n";
$templateVars['{imprint_de}'] .= "FAX:".Tools::safeOutput(Configuration::get('PS_SHOP_FAX'))."\n";
$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_DETAILS'))."\n";
$templateVars['{imprint_de}'] .= "</pre>";
####

 

Jetzt kann man indem man in den E-Mail Templates die ErsetzungsVariable {imprint_de} einfügt, das Impressum bestehend aus den Datenbank Daten welche man unter Kontaktdaten angegeben hat auslesen.

Der obere Code kann auch jederzeit erweitert und ergänz werden mit weiteren Variablen.

Link to comment
Share on other sites

Core-Dateien sollte man möglichst ungetastet lassen, weil sonst beim nächsten Upgrade alles wieder verloren geht. Man denkt ja auch nach x-Monaten nicht mehr daran, dass man irgendwo eine Anpassung gemacht hat.

Wer nicht fit im Programmieren ist und keine Override-Datei selbs erstellen kann, der sollte sich meinen Tipp zu Herzen nehmen. So oft ändert man sein Impressum auch wieder nicht... Bin schon über 8 Jahre im e-commerce und die Firmendaten sind noch immer die gleichen...

Link to comment
Share on other sites

Da magst du Recht haben.

Ich bin beruflich Firmenberater mit Schwerpunkt eCommerce und berate deswegen auch sehr viele Online Shops. Daher bin ich auch immer auf der Suche nach neuen und guten Shop Systemen. (so bin ich hier gelandet ;) )

Ich habe dort schon zigmal erlebt das sich die Fax, Support, Telefonnummer geändert hat, oder Angaben in der Rechtsform, UST ID bei Beendigung einer GbR oder oHG.

 

Bezüglich des CodeSchnipsels:

Ich werde wenn ich Zeit habe und es noch kein anderer erledigt, es versuchen in eine override einzubauen.

Das oben war ja nur eine Schnelle Lösung.

Link to comment
Share on other sites

OK. Danke dir. So haben wir offensichltich einen ähnlichen Job... Aber ich bin vorrangig selbst Händler... Aus Erfahrung weiss ich aber auch, dass die meisten Start-ups nach 3 Jahren garnicht mehr existieren. So kurzlebig ist das e-commerce Geschäft und der große Teil versucht sich darin auch nur sehr halbherzig und mit dem Gedanken - damit werde ich reich...

Leider in 98% der Fälle wird so gedacht. Die Realität ist eine ganz andere. Mein Tag hat sehr oft - und das ist der überwiegende Teil - auch bis zu 20 Std. Arbeitszeit und nur 4 Std. Schlaf.

Ich bin im e-commerce auch schon über 8 fast 9 Jahre tätig, bei mir hat sich noch nichts geändert. Offensichltich war mein Start-up-Berater sehr gut und ich habe von Anfang an alles korrekt aufgebaut. Sicher, es kommen immer wieder neue Gesetze heraus und man muss anpassen, das bleibt uns allen nicht erspart...

Link to comment
Share on other sites

Ja das kenne ich nur zu gut.

Ich versuche von Anfang an sehr gut zu beraten, vor allem was auch die Arbeitszeiten angeht und die gesamten Prozesse von Bestellung, Lieferung oder auch Lieferanten, Support, Buchhaltung.

 

Ich mache das jetzt seit 1996, damals überwiegend Ladengeschäfte mit Werbung und Optimierung deren Prozesse. Heute nur noch eine Handvoll Ladengeschäfte und überwiegend Online Auftritte bzw Liefer oder Lagerfirmen.

Berate von Gründung bis hin zur versuchten Rettung einer abwärts fallenden Firma die den Anschluss verpasst hat.

 

Manche glauben halt die stellen nen Online Shop Online und das Geld kommt von fast alleine.

Link to comment
Share on other sites

Manche glauben halt die stellen nen Online Shop Online und das Geld kommt von fast alleine.

 

Glauben ? Nein die meisten sind davon sogar sehr überzeugt... Die Hype war vor langer, langer Zeit. Neben e-commerce sind meine Stärken: Aufbau von neuen und Sanierung von maroden Unternehmen. Also sehr änhlich zu deinem Job.

Link to comment
Share on other sites

Hi,

bin neu mit presta unterwegs und ziehe gerade den ersten Shop damit hoch. Die Funktion mit dem Impressum etc. benötige ich auch. Hier also mein erster Beitrag fürs Forum :-)

 

Ich hoffe, ich habe das mit den Overrides richtig gemacht, jedenfalls einfach folgenden Code in eine Mail.php kopieren und diese dann in overrides/classes/Mail.php kopieren.

Bei den Mail Templates kann man dann wie oben beschrieben dann einfach {imprint_de} verwenden.

Wenn man Overrides so nicht benutzt, bin ich gerne für Verbesserungen offen :-)

 

<?php
/*
Overrides the core Mail class to add a new imprint_de field in the template VARs
*/
class Mail extends MailCore
{
public static function Send($id_lang, $template, $subject, $templateVars, $to,
 $toName = null, $from = null, $fromName = null, $fileAttachment = null, $modeSMTP = null, $templatePath = _PS_MAIL_DIR_, $die = false)
{

 $templateVars['{imprint_de}'] = "<pre>";
 $templateVars['{imprint_de}'] .= "Impressum:\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR1'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR2'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CODE'))." ";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CITY'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_COUNTRY'))."\n";
 $templateVars['{imprint_de}'] .= "TEL:".Tools::safeOutput(Configuration::get('PS_SHOP_PHONE'))."\n";
 $templateVars['{imprint_de}'] .= "FAX:".Tools::safeOutput(Configuration::get('PS_SHOP_FAX'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_DETAILS'))."\n";
 $templateVars['{imprint_de}'] .= "</pre>";
 #### 
 parent::Send($id_lang,$template,$subject,$templateVars,$to,$toName,$from,$fromName,$fileAttachment,$modeSMTP,$templatePath,$die);
}
}
?>

  • Like 3
Link to comment
Share on other sites

Vorerst sage ich mal Danke Pete78. Zum testen komme ich aber im Moment leider nicht. Soeben ein private Release für PS 1.5. reingekommen mit deadline für Bugmeldungen und sonst ist ja auch noch meine eigene Arbeit da...

Link to comment
Share on other sites

Steht im Post #9 doch klar erklärt. Datei erstellen und unter overrides einfügen und dann anstatt den Text als Hardcode einfügen wie im Post #1, an gewünschter Stelle in den Mails die Variable {imprint_de} einfügen. Am Besten in allen Mails ganz unten wo die {shop_URL} oder auch teilweise als {shop_Name} Variable übergeben wird. Auf jeden Fall bei allen Mails ganz unten und darunter also mit einem Zeilenumbruch nach {shop_URL}, bzw. {shop_Name} dazwischen

Link to comment
Share on other sites

  • 1 month later...

Hi,

ist noch ein kleiner Fehler drinnen. Aufgefallen war es mir be der "Neues Passwort anfordern" Funktion.

 

Bitte obigen Mail.php Code wie folgt benutzen (einfach noch ein return hinzufügen).

 

<?php
/*
Overrides the core Mail class to add a new imprint_de field in the template VARs
*/
class Mail extends MailCore
{
public static function Send($id_lang, $template, $subject, $templateVars, $to,
 $toName = null, $from = null, $fromName = null, $fileAttachment = null, $modeSMTP = null, $templatePath = _PS_MAIL_DIR_, $die = false)
{

 $templateVars['{imprint_de}'] = "<pre>";
 $templateVars['{imprint_de}'] .= "Impressum:\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR1'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR2'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CODE'))." ";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CITY'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_COUNTRY'))."\n";
 $templateVars['{imprint_de}'] .= "TEL:".Tools::safeOutput(Configuration::get('PS_SHOP_PHONE'))."\n";
 $templateVars['{imprint_de}'] .= "FAX:".Tools::safeOutput(Configuration::get('PS_SHOP_FAX'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_DETAILS'))."\n";
 $templateVars['{imprint_de}'] .= "</pre>";
 return parent::Send($id_lang,$template,$subject,$templateVars,$to,$toName,$from,$fromName,$fileAttachment,$modeSMTP,$templatePath,$die);
}
}
?>

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Ich kriegs leider nicht hin mit dem Fix :(

 

 

Habs etliche Male probiert.. meine Vorgehensweise:

 

*) Mail.php erstellt

Inhalt: <?php

/*

Overrides the core Mail class to add a new imprint_de field in the template VARs

*/

class Mail extends MailCore

{

public static function Send($id_lang, $template, $subject, $templateVars, $to,

$toName = null, $from = null, $fromName = null, $fileAttachment = null, $modeSMTP = null, $templatePath = _PS_MAIL_DIR_, $die = false)

{

 

$templateVars['{imprint_de}'] = "<pre>";

$templateVars['{imprint_de}'] .= "Impressum:\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR1'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR2'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CODE'))." ";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CITY'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_COUNTRY'))."\n";

$templateVars['{imprint_de}'] .= "TEL:".Tools::safeOutput(Configuration::get('PS_SHOP_PHONE'))."\n";

$templateVars['{imprint_de}'] .= "FAX:".Tools::safeOutput(Configuration::get('PS_SHOP_FAX'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_DETAILS'))."\n";

$templateVars['{imprint_de}'] .= "</pre>";

return parent::Send($id_lang,$template,$subject,$templateVars,$to,$toName,$from,$fromName,$fileAttachment,$modeSMTP,$templatePath,$die);

}

}

?>

 

 

*) Die mail.php in das Verzeichnis overrides/classes/ kopiert

 

 

*) Ins Verzeichnis classes gehen die mail.php öffnen und dann stehe ich an, wo muss dich jetzt was einfügen ? Hab was probiert, dann kamen garkeine Mails mehr an.

Link to comment
Share on other sites

Gelesen ja, aber es verstehen ist eine andere Sache :-/

 

Warum gibts es die override/classes/mail.php? Überschreiben irgendwas....?!

 

Den Text in jede einzelne mail einpflegen? Was ist d mit gemeint?

 

Die classes/mail.php sieht jetzt so aus. (von Zeile 184 bis 207, für den Überblick)

 

/* Get templates content */

$iso = Language::getIsoById((int)$id_lang);

if (!$iso)

{

Tools::dieOrLog(Tools::displayError('Error - No ISO code for email'), $die);

return false;

####

$templateVars['{imprint_de}'] = "<pre>";

$templateVars['{imprint_de}'] .= "Impressum:\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR1'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR2'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CODE'))." ";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CITY'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_COUNTRY'))."\n";

$templateVars['{imprint_de}'] .= "TEL:".Tools::safeOutput(Configuration::get('PS_SHOP_PHONE'))."\n";

$templateVars['{imprint_de}'] .= "FAX:".Tools::safeOutput(Configuration::get('PS_SHOP_FAX'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_DETAILS'))."\n";

$templateVars['{imprint_de}'] .= "</pre>";

####

}

$template = $iso.'/'.$template;

 

$module_name = false;

$override_mail = false;

 

// get templatePath

 

 

und die override/classes/mail.php so

 

<?php

/*

Overrides the core Mail class to add a new imprint_de field in the template VARs

*/

class Mail extends MailCore

{

public static function Send($id_lang, $template, $subject, $templateVars, $to,

$toName = null, $from = null, $fromName = null, $fileAttachment = null, $modeSMTP = null, $templatePath = _PS_MAIL_DIR_, $die = false)

{

 

$templateVars['{imprint_de}'] = "<pre>";

$templateVars['{imprint_de}'] .= "Impressum:\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR1'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR2'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CODE'))." ";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CITY'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_COUNTRY'))."\n";

$templateVars['{imprint_de}'] .= "TEL:".Tools::safeOutput(Configuration::get('PS_SHOP_PHONE'))."\n";

$templateVars['{imprint_de}'] .= "FAX:".Tools::safeOutput(Configuration::get('PS_SHOP_FAX'))."\n";

$templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_DETAILS'))."\n";

$templateVars['{imprint_de}'] .= "</pre>";

return parent::Send($id_lang,$template,$subject,$templateVars,$to,$toName,$from,$fromName,$fileAttachment,$modeSMTP,$templatePath,$die);

}

}

?>

 

 

 

Was fehlt mir nun oder hab ich den falsch gemacht?

 

MFG

Martin

Link to comment
Share on other sites

Was ist denn unklar ? Der Code-Fix funktioniert NICHT für PS 1.5.X.

 

1) Möchtest du dein Impressum & Co überall in deinen Mails einfügen, dann bitte händisch ergänzen. Lokalisierung -> Übersetzungen -> Mails und an gewünschter Stelle in jeder Mail, am Besten ganz unten mit dem Editor dein Impressum in Textform, also HTML-Text, oder einfach ganz normal geschriebener Text mit Formatierungen in jede Mail einfügen.

 

PS 1.5. ist ganz anders aufgebaut als PS 1.3. und PS 1.4. Der Core, sprich der Code ist großteils komplett anders. Die Variablen werden anders übergeben und heissen auch anders.

 

Für 1.5., die ja noch nicht zum live-Einsatz empfohlen wird, zumindest nicht für DE, gibt es hier noch keinen Fix. Man kann sich aber mit Trick 1) helfen.

Link to comment
Share on other sites

  • 2 weeks later...

Um es anderen in der Zukunft vielleicht ein wenig leichter zu machen.

 

33907462963.png

 

 

Geht für txt html oder auch *.tpl z.b. :)

(Dieses tool ändert übrigens an der Kodierung / Charset nichts - es sei es ist gewollt als Option)

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Hallo zusammen!

 

Der Code-Fix funktioniert bei uns wieder, nachdem wir die Send()-Methode um den (wohl in 1.5) neu dazugekommenen Parameter ($id_shop) erweitert haben:

 

public static function Send($id_lang, $template, $subject, $templateVars, $to,
 $toName = null, $from = null, $fromName = null, $fileAttachment = null, $modeSMTP = null, $templatePath = _PS_MAIL_DIR_, $die = false, $id_shop = null) {
   ...
 return parent::Send($id_lang,$template,$subject,$templateVars,$to,$toName,$from,$fromName,$fileAttachment,$modeSMTP,$templatePath,$die,$id_shop);
}

 

Beste Grüße

Das gigatec Team

Link to comment
Share on other sites

  • 1 month later...

Ja, imho kannst du das. Bei mir zumindest funktioniert die folgende Version unter 1.5.3.1 tadellos (hab noch Shop-Name und Email mit eingebaut):

 

Override/classes/mail.php:

 

<?php
/*
Overrides the core Mail class to add a new imprint_de field in the template VARs
*/
class Mail extends MailCore
{
public static function Send($id_lang, $template, $subject, $templateVars, $to,
 $toName = null, $from = null, $fromName = null, $fileAttachment = null, $modeSMTP = null, $templatePath = _PS_MAIL_DIR_, $die = false, $id_shop = null)
{
 $templateVars['{imprint_de}'] = "<pre>";
 $templateVars['{imprint_de}'] .= "Impressum:\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_NAME'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR1'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_ADDR2'))." \n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CODE'))." ";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_CITY'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_COUNTRY'))."\n";
 $templateVars['{imprint_de}'] .= "TEL:".Tools::safeOutput(Configuration::get('PS_SHOP_PHONE'))."\n";
 $templateVars['{imprint_de}'] .= "FAX:".Tools::safeOutput(Configuration::get('PS_SHOP_FAX'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_EMAIL'))."\n";
 $templateVars['{imprint_de}'] .= Tools::safeOutput(Configuration::get('PS_SHOP_DETAILS'))."\n";
 $templateVars['{imprint_de}'] .= "</pre>";
 ####
return parent::Send($id_lang,$template,$subject,$templateVars,$to,$toName,$from,$fromName,$fileAttachment,$modeSMTP,$templatePath,$die,$id_shop);
}
}
?>

 

 

Wer die 2. Adresszeile nicht benötigt, sollte sie weglassen, weil sonst nur eine Leerzeile erzeugt wird.

Edited by eleazar (see edit history)
Link to comment
Share on other sites

  • 1 month later...

Hallo zusammen,

 

nachdem ich mich langsam aber sicher selber in die 1.5.x einarbeiten darf. :-) möchte ich auch ein paar Zeilen dazu tippen.....

 

Doch doch, im Prinzip ist das oben geschriebene alles richtig. Aber, man muss wirklich die KOMPLETTE Funktion in die Override-Datei einfügen!

Das sind etwas um die 200 Zeilen Quellcode. :-)

 

So wie es aussieht, auch nur diese eine Funktion (bzw. alle Funktionen die man ändern möchte, falls da noch mehr anfällt, aber in dem Fall ist das nur die eine)

Falls hier jemand mehr weiss, lass ich mich gerne via PN aufklären, habe in meinem Override jedenfalls aktuell nur die eine Funktion eingebaut. OK, wenn es beim testen knallen sollte wirds auch eindeutig *g*

 

Und nochmals aufgepasst!

 

In 1.5.x (hab hier jetzt in eine 1.5.3.1 geschauht) hat sich der Variablenname geändert.........

Das Teil heisst jetzt $template_vars statt vorher $templateVars (vars jetzt mit kleinem v und Unterstrich davor)

 

Sorry, da ich bei den Variablen für meine Mail-Pakete einen klein wenig andere Definition bastle (hauptsächlich mehrere einzelne Variablen statt einer mit allem) habe ich da gerade keine komplette Datei zum einfachen "reinkopieren". Zudem bin ich da noch an ein paar Dingen mehr als dem Impressum dran, also ist das hier auch extrem Testing. :-)

 

aber wenn man das oben genannte beachtet sollte das auch wieder mit dem Nachbarn klappen.

*g* Upps, das war ja ne ganz andere Werbung *g*

 

Nachtrag, weil die Bastelarbeiten jetzt bereits über mehrere Stunden gehen.:

$templatePath heisst jetzt auch anders: $template_path

(brauchte ich zum anhängen von Dateien an bestimmte Mails)

 

Noch ein Nachtrag *g*

DIE eine geänderte Funktion scheint zu reichen und es sind noch mehr Variablennamen geändert worden.

(Die jetzt allerdings in einer anderen /classes/I*)

Irgendwer scheint da Freude dran zu haben Dinge einfach mal umzubenennen. :-)

 

So! Feierabend, in diesem Sinne

 

LG Klaus / Lockesoft

Edited by Lockesoft (see edit history)
Link to comment
Share on other sites

Hallo Klaus,

 

ich glaube, da hast was falsch verstanden.

 

Das Teil heisst jetzt $template_vars statt vorher $templateVars

 

In unterschiedlichen Programmteilen existieren beide Schreibweisen - bis hinein in die Betaversion 1.5.4.

 

$templateVars
/controllers/admin/AdminOrdersController.php
/modules/followup/followup.php
/modules/mailalerts/MailAlert.php
/modules/sendtoafriend/sendtoafriend_ajax.php
/tools/smarty/SmartyBC.class.php
/tools/smarty/sysplugins/smarty_internal_data.php
/tools/smarty/sysplugins/smarty_internal_resource_php.php

$template_vars
/classes/Mail.php
/classes/order/OrderHistory.php
/modules/mailalerts/mailalerts.php
/tools/smarty/SmartyBC.class.php

 

Aber, man muss wirklich die KOMPLETTE Funktion in die Override-Datei einfügen! Das sind etwas um die 200 Zeilen Quellcode. :-)

 

Nee, muss man wirklich nicht, function Send wie oben beschrieben reicht völlig aus.

 

Wichtig ist nur, dass hier eine neue Variable eingeführt wird, die "impressum_de" heißt und die es in den Standardmails gar nicht gibt. Der Name ist übrigens Schall und Rauch. Du kannst sie auch "Gurkelhobel" nennen, sofern du in den Mails unten vor der Tabellenzeile "Powered ... " eine weitere Zeile einfügst, die dann eben nicht {imprint_de}, sondern {Gurkenhobel} heißt.

 

Die Variable $templateVars darfst du im Override aber auf keinen Fall ändern, etwa in $template_vars, denn sonst bekommt der Kunde die Bestätigung für die jeweilige Zahlungsart nämlich nicht mehr, sondern nur noch die Bestellbestätigung.

 

Und wenn man das Ganze noch formatiert in die order_conf.html einträgt, sieht es sogar noch ein bisschen professioneller aus. Bei der Gelegenheit kann man auch "Powered with PrestaShop" durch das grammatikalisch richtige "Powered by ..." ersetzen.

Hab ich aber mittlerweile in allen Mails korrigiert, so dass es auch reicht, auf das nächste Update des translation packs zu warten.

 

<tr>
<td style="padding: 0.5em 0 0.5em 0.5em; background-color: #ebecee;">{imprint_de}</td>
</tr>
<tr>
<td style="font-size: 10px; border-top: 1px solid #D9DADE;" align="center"><a style="color: #db3484; font-weight: bold; text-decoration: none;" href="{shop_url}">{shop_name}</a> Powered by <a style="text-decoration: none; color: #374953;" href="http://www.prestashop.com/">PrestaShop™</a></td>
</tr>

 

Viele Grüße

Rainer

Link to comment
Share on other sites

Das Teil heisst jetzt $template_vars statt vorher $templateVars

 

 

In unterschiedlichen Programmteilen existieren beide Schreibweisen - bis hinein in die Betaversion 1.5.4.

Das will ich gar nicht bestreiten. :-)

imho müsste das eh nur innerhalb einer function passen. Davon ausgehend, dass man die function ja aus einer Orginal /classes kopiert....

War es hier eben so, das die aus einer 1.5.3.1 eine andere Schreibweise hatte, als die Codeschnipsel. die ich hier einfügen wollte. Anfangs ist mir das gar nicht mal aufgefallen. eben nur, dass es nicht funktionierte. :D

Nee, muss man wirklich nicht, function Send wie oben beschrieben reicht völlig aus.

 

Das meinte ich damit eigentlich auch genauso. In der mail.php sind allerdings auch noch andere functionen drin, die man nicht mit nehmen muss.

 

Und wenn man das Ganze noch formatiert in die order_conf.html einträgt, sieht es sogar noch ein bisschen professioneller aus.

 

Das war ja eben der Antrieb für die Mailpakete. E-Mail die gut aussehen und einfach in der Optik angepasst werden können (Über eine CSS-Datei gelöst, die in die Mails eingefügt wird) und eben auch die in D-land nötigen Angaben beinhalten (über zusätzliche Variablen gelöst, ähnlich wie es hier beschrieben wird, nur ein bischen umfangreicher)

 

Bei der Gelegenheit kann man auch "Powered with PrestaShop" durch das grammatikalisch richtige "Powered by ..." ersetzen.

 

Das habe ich bei mir auf vielfachen Kundenwunsch komplett rausgeworfen;)

Edited by Lockesoft (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...