Zum Inhalt springen

tt_products und HTML Mails

Erstellt am 29. März 2006 · 24 Antworten · letzte Antwort am 11. April 2006 · Seite 1 von 2

Tags: Frage

Andreas2000 ·

Hallo zusammen,

ich habe das Problem, daß mein Shop (2.4.9) keine HTML Mails verschickt.
folgendes hab ich im Template Setup stehen:

orderEmail_htmlmail = 1

und das hab ich ins entsprechende Template gepackt:

<!-- ###EMAIL_HTML_SHELL### begin
	This is wrapping HTML code for the HTML-emails sent. The marker, HTML_BODY, is substituted with the order content.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<style type="text/css">
<!--
		select  {  font-family: Verdana, Arial, Helvetica; font-size: 10px }
		textarea  {  font-family: Verdana, Arial, Helvetica; font-size: 10px} 
		input   {  font-family: Verdana, Arial, Helvetica; font-size: 10px }
-->
</style>
<title>Typo3 Shopping HTML-email wrapper</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="Typo 3.1 CMS" />
<script language="javascript" type="text/javascript">
<!--
	browserName = navigator.appName;
	browserVer = parseInt(navigator.appVersion);
	var msie4 = (browserName == "Microsoft Internet Explorer" && browserVer >= 4);
	if ((browserName == "Netscape" && browserVer >= 3) || msie4) {version = "n3";} else {version = "n2";}

	function openPic(url,winName,winParams)	{
		var theWindow = window.open(url,winName,winParams);	
		if (theWindow)	{theWindow.focus();}
	}
	function blurLink(theObject)	{
		if (msie4)	{
			theObject.blur();
		}
	}

	
// End Hiding Script -->
</script>
</head>
<body bgcolor="#FBF9F7" link="black" vlink="black" alink="black" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10">

###HTML_BODY###

</body></html>
<!-- ###EMAIL_HTML_SHELL### end-->

Nun meine Frage: Warum verschickt mein Shop nur Mails als Plaintext mit dem Marker ###EMAIL_PLAINTEXT_TEMPLATE###???

Auch das Tracking Mail kommt ohne Formatierung im Plaintext - sämtliche HTML Formatierungen der Mail Tracking Marker kommen ebenfalls als Plaintext mitgeschickt.

Ich habe mich hier im Forum schon wundgesucht und steig aber leider nicht dahinter....

Vielen Dank schon mal für Eure Unterstützung,

Andreas.

Unbekannter Benutzer ·

Hi!

Genau das gleiche Problem habe ich auch... wirklich witzig, dass da fast keiner eine brauchbare Lösung hat.

Das Problem ist sicher ein Manko von tt_products.

LG,

Emanuel

Unbekannter Benutzer ·

Hallo Flink!

Ich hab in der Online Repository nachgeschaut, die aktuelle Version von Table Library ist aber 0.0.9. Wie soll ich auf 0.0.10 aktualisieren?

LG,

Emanuel

Unbekannter Benutzer ·

Hi Flink!

Nachdem ich beide Verzeichnisse auf meinem Server aktualisiert habe, erscheint folgender Fehlerhinweis:

Warning: main(/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_article.php): failed to open stream: No such file or directory in htdocs/cms/typo3conf/ext/tt_products/pi1/class.tx_ttproducts_pi1.php on line 51

Fatal error: main(): Failed opening required htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_article.php' (include_path='.:/usr/local/lib/php') in htdocs/cms/typo3conf/ext/tt_products/pi1/class.tx_ttproducts_pi1.php on line 51

In der Zeile 51 in der Datei class.tx_ttproducts_pi1.php steht

require_once(PATH_BE_fh_library.'/sysext/cms/tslib/class.fhlibrary_pibase.php');

Unbekannter Benutzer ·

Jetzt funktioniert die ganze Seite nicht!! :o :o
Komisch, die Datei class.fhlibrary_pibase.php existiert aber. Was hab ich denn jetzt falsch gemacht?

Bitte um Hilfe!

Unbekannter Benutzer ·

Tja, hab's wieder hinbekommen.
Hab die Extension tt_products entfernt und wieder neu eingefügt.

Tja, das mit der E-Mail funktioniert aber trotzdem nicht.

Hab folgende Versionen:

tt_products: 2.4.9
fh_library: 0.0.8

Was empfehlt ihr mir?

Unbekannter Benutzer ·

Habe deine Dateien upgedatet auf meinem Server.
Es erscheinen aber folgende Fehler:

Warning: Missing argument 5 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_article.php on line 55

Warning: Missing argument 6 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_article.php on line 55

Warning: Missing argument 7 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_article.php on line 55

Warning: Missing argument 2 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_category.php on line 53

Warning: Missing argument 3 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_category.php on line 53

Warning: Missing argument 4 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_category.php on line 53

Warning: Missing argument 5 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_category.php on line 53

Fatal error: Call to undefined function: setnotcafieldarray() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_category.php on line 62

Unbekannter Benutzer ·

Hi Flink!

Danke für deine Bemühungen, aber es funktioniert noch immer nicht. Der einzige Unterschied ist jetzt der, dass zwar die Seite angezeigt wird, oberhalb des Layouts aber wieder folgender Output ausgegeben wird:

Warning: Missing argument 5 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_article.php on line 55

Warning: Missing argument 6 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_article.php on line 55

Warning: Missing argument 7 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_article.php on line 55

Warning: Missing argument 2 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_category.php on line 53

Warning: Missing argument 3 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_category.php on line 53

Warning: Missing argument 4 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_category.php on line 53

Warning: Missing argument 5 for init() in /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_category.php on line 53

Warning: Cannot modify header information - headers already sent by (output started at /var/www/webs/phpgrocomat/web/htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_article.php:55) in /var/www/webs/phpgrocomat/web/htdocs/cms/tslib/class.tslib_fe.php on line 2612

Was ist denn bei deinen Dateien anders?
Woran liegt es denn, dass die HTML Formatierung nicht gesendet wird? Vielleicht kann ich es selbst programmieren.

LG #paralyzed#

Flink ·
$this->tt_products_articles->init($this,$this->conf,$this->config,$this->tt_products,$this->LLkey, $this->conf['table.']['tt_products_articles'],$this->conf['table.']['tt_products_articles.']);

function init(&$pibase, &$conf, &$config, &$tt_products, $LLkey, $tablename, &$tableconf)  {

Die Anzahl der Parameter muß hier übereinstimmen. Hast du tatsächlich die angegebenen Dateien verwendet?

Überprüfe die init-Methoden in der Datei pi1/class.tx_ttproducts_pi1.php. Hier stimmt etwas nicht, denn sonst müßte ich ja auch auf dieselben Fehlermeldungen stoßen.

Unbekannter Benutzer ·

Hab's noch einmal probiert. Jetzt wird der Shop angezeigt.

Nach dem Drücken des Buttons "Bestellung versenden" wird aber folgendes angezeigt:

Fatal error: Call to a member function on a non-object in /htdocs/cms/typo3conf/ext/tt_products/lib/class.tx_ttproducts_email.php on line 56

In dieser Datei auf Zeile 56 steht

$this->table->addDefaultFieldArray(array('sorting' => 'sorting'));

Was für mich aber ziemlich verwirrend ist. #paralyzed#

Hab grad gesehen, dass du der Autor von dieser Datei bist, Flink!
Hoffe, du kannst mir weiterhelfen.

Flink ·

#angry#

class tx_ttproducts_email {
	var $emailArray;	// array of read in emails
	var $table;		 // object of the type tx_table_db

	/**
	 * Getting all tt_products_cat categories into internal array
	 */
	function init() {
		global $TYPO3_DB;
		
		$this->table = t3lib_div::makeInstance('tx_table_db');
		$this->table->addDefaultFieldArray(array('sorting' => 'sorting'));
		$this->table->setTCAFieldArray('tt_products_emails');
	} // init


	function getEmail ($uid) {
		global $TYPO3_DB;
		$rc = $this->emailArray[$uid];;
		if (!$rc) {
			$sql = t3lib_div::makeInstance('tx_table_db_access');
			$sql->prepareFields($this->table, 'select', '*');
			$sql->prepareWhereFields ($this->table, 'uid', '=', $uid);
			$this->table->enableFields('tt_products_emails');
			// Fetching the email
			$res = $sql->exec_SELECTquery();
			$row = $TYPO3_DB->sql_fetch_assoc($res);
			$rc = $this->emailArray[$row['uid']] = $row;
		}
		return $rc;
	}


}
Unbekannter Benutzer ·

Hi!

Es funktioniert nun.
Aber die E-Mail wird trotzdem nicht im HTML Format versendet.
Muss ich in meiner Shop tmpl Datei einen eigenen Bereich für die HTML Formatierung definieren?

Ich möchte nämlich die Bestellnummer fett markieren.
Wenn ich in meiner jetzigen Template Datei <b> und </b> reinschreibe, wird <b> und </b> auch in der E-Mail angezeigt.

LG

Flink ·
::emanuel:: schrieb

Aber die E-Mail wird trotzdem nicht im HTML Format versendet.
Muss ich in meiner Shop tmpl Datei einen eigenen Bereich für die HTML Formatierung definieren?

###EMAIL_PLAINTEXT_TEMPLATE### und ###EMAIL_HTML_SHELL###

::emanuel:: schrieb

Ich möchte nämlich die Bestellnummer fett markieren.
Wenn ich in meiner jetzigen Template Datei <b> und </b> reinschreibe, wird <b> und </b> auch in der E-Mail angezeigt.

Ja, erst als HTML-Email kann das auch berücksichtigt werden.

Unbekannter Benutzer ·

Danke für deine Hilfe Flink!

Die E-Mail wird nun im HTML Format versendet.
In der Mail werden aber alle Marker dargestellt - also nicht der eigentliche Wert des Markers:

Ihre Bestellung ####ORDER_UID###

Flink ·
::emanuel:: schrieb

In der Mail werden aber alle Marker dargestellt - also nicht der eigentliche Wert des Markers:

Ihre Bestellung ####ORDER_UID###

Wie hast du das gemacht, daß die Marker nicht ersetzt werden? Verwendest du ein eigenes Bezahlskript?

Unbekannter Benutzer ·

Hi Flink!

Nun, ich weiß auch nicht. Beim Plaintext E-Mail Template werden die Marker ersetzt.
Hier der Bereich meines Plaintext Templates:

<!-- ###EMAIL_PLAINTEXT_TEMPLATE### begin
Subpart used as template for the order-emails
First line is used as subject for the mail.
-->

Test - Ihre Bestellung ####ORDER_UID###

Auftragsbestätigung: 

Vielen Dank für Ihre Bestellung!
Ihre Bestellung ist vollständig und hat folgende Bestellnummer:

<b>###ORDER_UID###</b>

Bitte nutzen Sie die Bestellnummer als Referenz, wenn Sie uns kontaktieren.

Ihre Trackingnummer lautet 

<b>###ORDER_TRACKING_NO###</b>

Mit dieser Nummer können Sie Ihre Bestellung online verfolgen.

BESTELLUNG:

1) Produkt:
<!-- ###ITEM_CATEGORY_AND_ITEMS### --><!-- ###ITEM_LIST### begin --><!-- ###ITEM_SINGLE### begin-->
Produktname: ###PRODUCT_TITLE###
Artikel-Nummer: ###PRODUCT_ITEMNUMBER###
Preis: ###PRICE_TAX### Euro
Menge: ###FIELD_QTY### = ###PRICE_TOTAL_TAX### EURO
<!-- ###ITEM_SINGLE### end --><!-- ###ITEM_LIST### end --><!-- ###ITEM_CATEGORY_AND_ITEMS###  end -->
2) Rechnungsadresse:
###PERSON_NAME###
###PERSON_ADDRESS###
Telefon: ###PERSON_TELEPHONE###
Email: ###PERSON_EMAIL###

3) Lieferadresse:
###DELIVERY_ADDRESS###
Name: ###DELIVERY_NAME###
Telefon: ###DELIVERY_TELEPHONE###
Email: ###DELIVERY_EMAIL###

5) Versand:
###SHIPPING_TITLE###

6) Zahlungsart:
###PAYMENT_TITLE###


Rechnungsendbetrag: Euro ###PRICE_TOTAL_TAX###

(Netto: ###PRICE_TOTAL_NO_TAX###)


Mit freundlichen Grüßen


Tesdt

<!-- ###EMAIL_PLAINTEXT_TEMPLATE### end -->

Beim HTML E-Mail Template hab ich einfach diesen Bereich nach unten kopiert und den Marker mit EMAIL_HTML_SHELL ersetzt. Also einfach statt

###EMAIL_PLAINTEXT_TEMPLATE###

###EMAIL_HTML_SHELL###

Alles andere bleibt gleich.
Hast du vielleicht eine Ahnung?

Flink ·
::emanuel:: schrieb

Also einfach statt

###EMAIL_PLAINTEXT_TEMPLATE###

###EMAIL_HTML_SHELL###

Alles andere bleibt gleich.
Hast du vielleicht eine Ahnung?

Das ist falsch.

Der ###EMAIL_HTML_SHELL### muß anders aussehen.

<!-- ###EMAIL_HTML_SHELL### begin -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>

<style type="text/css">
<!--

		select  {  font-family: Verdana, Arial, Helvetica; font-size: 10px }
		textarea  {  font-family: Verdana, Arial, Helvetica; font-size: 10px}
		input   {  font-family: Verdana, Arial, Helvetica; font-size: 10px }

-->
</style>
<title>bananaguard.de: Bezahlung / Versand</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="TYPO3 3.8 CMS" />

<script language="javascript" type="text/javascript">
<!--
	browserName = navigator.appName;
	browserVer = parseInt(navigator.appVersion);
	var msie4 = (browserName == "Microsoft Internet Explorer" && browserVer >= 4);
	if ((browserName == "Netscape" && browserVer >= 3) || msie4) {version = "n3";} else {version = "n2";}

	function openPic(url,winName,winParams)	{
		var theWindow = window.open(url,winName,winParams);
		if (theWindow)	{theWindow.focus();}
	}
	function blurLink(theObject)	{
		if (msie4)	{
			theObject.blur();
		}
	}


// End Hiding Script -->
</script>

</head>
<body bgcolor="#FBF9F7" link="black" vlink="black" alink="black" leftmargin="10" topmargin="10" marginwidth="10" marginheight="10">

###HTML_BODY###

</body></html>

<!-- ###EMAIL_HTML_SHELL### end -->