Zum Inhalt springen

df_dmailer: ###USER_tx_gender### wird nicht ersetzt

Erstellt am 14. September 2007 · 25 Antworten · letzte Antwort am 25. Januar 2011 · Seite 1 von 2

Tags: Direct Mail, Frage

Ascarion ·

Hallo,

zusätzlich zu direct_mail 2.5.1 und direct_mail_subscription 1.1.0 habe ich df_dmailer 1.1.0 installiert.
Im Quelltext der Seite, die später als HTML-Newsletter verschickt wird, steht:

<p style="margin:0 0 16px 0;">###USER_tx_gender### ###USER_name###,</p>

Beim Massenmail-Versand wird der Marker ###USER_name### ersetzt, ###USER_tx_gender### allerdings nicht.

Gibt es hier noch eine Einstellung die ich übersehen habe?

Die Anmeldung funktioniert soweit, dass im Adress-Datensatz im Feld tx_dfdmailer_gender immer 1 bzw. 2 eingetragen wird.

Ascarion ·

Ich bin bei dem Problem leider noch keinen Schritt weiter. Mittlerweile habe ich nur eine vage Vermutung (habe nicht sonderlich viel Ahnung von Extension-Programmierung):

df_dmailer ist scheinbar nicht mit der Version 2.5.1 von direct_mail kompatibel. Bei df_dmailer ist in der Datei ext_localconf.php folgende Zeile zu finden:

$TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/direct_mail/mod/class.dmailer.php"]=t3lib_extMgm::extPath($_EXTKEY)."class.ux_dmailer.php";

In direct_mail gibt es allerdings kein Verzeichnis mod. Das BE-Modul besteht in der aktuellen aus den Verzeichnissen mod1 bis mod6.

Vielleicht kann mir ja jemand der mehr Ahnung davon hat sagen, ob das so sein kann. Und wenn ja, ob man da was machen kann …

Ascarion ·

Die einzige Alternative die mir bisher eingefallen ist, ist folgendes:

Ich nehme das title-Feld her um darin im Klartext die komplette Anrede ("Sehr geehrter Herr"/"Sehr geehrte Frau") zu speichern, und lasse mir das dann statt des Markers ###USER_tx_gender### ausgeben.

Aber gerade im Hinblick auf Mehrspachigkeit erscheint mir diese Lösung als nicht gerade vorteilhaft …

Das wäre also nur eine Notlösung; zumal es ja eine Extension gibt die das eigentlich bewerkstelligen sollte o.O

fkotzek4 ·

Hallo Ascarion,

hast du für das Problem schon eine Lösung? Ich habe nämlich das gleiche Problem. Bei der alten Version von direct_mail funktionierte das noch einwandfrei.

Gruß
fkotzek4

Ascarion ·

Ich mache es jetzt so wie in meinem letzten Post beschrieben.
Im Anmeldeformular habe ich das Feld title als type="hidden" eingefügt. Wenn das Formular abgeschickt wird, wird per JavaScript die richtige Anrede eingefügt (z. B. "Sehr geehrter Herr Mustermann,").

Funktioniert natürlich nur bei aktiviertem JS, aber ich habe ja auch nicht behauptet, dass es eine gute Lösung ist … 😉

tott ·

hallo,
die df_dmailer v1.1.0 ist mit der Version 2.5.1 von direct_mail kompatibel!
die funktion "dmailer_sendAdvanced" hat sich nicht geändert, sondern nur der pfad wo die Klasse 'dmailer' definiert wird.

du musst die "ext_localconf.php" der df_dmailer anpassen:

$TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/direct_mail/res/scripts/class.dmailer.php"]=t3lib_extMgm::extPath($_EXTKEY)."class.ux_dmailer.php";

dann klappt's auch mit der Anrede!

dfluess ·

Hallo,

habe noch immer keine Zeit, die Zeile mal geändert und die Version gestartet (ohne zu testen)

Falls es Probleme gibt einfach posten. Dann muss ich mir wohl etwas mehr Zeit nehmen 😉

Detlef

fkotzek4 ·

Hallo tott,

ich habe diese Änderung in der ext_localconf.php gemacht, aber bei mir klappt es dennoch nicht mit der Anrede. Diese Marker habe ich im Newsletter gesetzt.
###USER_tx_gender### ###USER_name###. Sobald im Anredefeld in der Datenbank sogar eine 0 eingetragen ist, wird ###USER_name### nicht einmal mehr durch den Namen ausgetauscht.

Demnach ist das bei mir nicht des Rätsels Lösung, oder mache ich da etwas falsch?

Gruß
fkotzek4

erlkoenig ·

hallo zusammen,

hab das gleiche problem und kriegs einfach nicht geregelt #angry#
manno.

möchte aber username und password ausgeben.
wie kann ich generell einzelne datenbankfelder ausgeben und mitschicken?

direct_mail 2.5.1
df_dmailer 1.2.0
die zeile war in der ext_localconf.php schon drin

danke!!!!!!

Crazy-Achmet ·

Das ganze Interessiert mich auch brennend, wenn auch für tc_directmail.

Ich wär aber schon froh, wenn hier jemand eine Lösung postet! =)

Lg,

Flo

Crazy-Achmet ·

Wie das ganze bei tc_directmail funktioniert, weißt du nicht zufällig, oder? Da gibts den Punkt im Extension-Manager nämlich leider nicht. 😢

dfluess ·

Hallo,

also die Extension war mal für ältere Versionen gedacht. Denn nicht nur im Direct Mail hatte sich was geändert. Ich habe nun eine passende Extension neu aufgemacht, von unnötigem Ballast befreit. Diese funktioniert nun ohne Probleme, wenn die neuste Direct Mail Version im Einsatz ist. Allerdings ist die nicht Abwärtskompatibel, da ein anderes DB-Feld verwendet wird. Ein Import aus dem alten Feld sollte aber kein Problem sein.

Der Name der Extension ist:
Personalized Direct Mail Subscription (df_direct_mail_subscription)

Dabei darf "direct_mail_subscription" aber nicht gleichzeitig installiert sein.

Viel Spass D.

tott ·

Hallo Detlef,
erstmal danke für die neue Extension!

eine Sache zur Lokalisation (war bei 'df_dmailer' auch schon so):
Beim Ersetzen der Marker für die Anrede in der Funktion "dmailer_sendAdvanced"
wird nicht die Sprache des Abonnenten herangezogen sondern die des BE-Users.

Damit die Anrede bei mehrsprachigen Abonnentenlisten in der jeweils richtigen
Sprache erfolgt habe ich eine Abfage in die Funktion gepackt:

if(!empty($recipRow['language'])) {
	$df_langkey = strtolower($recipRow['language']);
}
else {
	$df_langkey = "default";
}

diesen '$df_langkey' verwende ich dann zum Ansprechen des $LOCAL_LANG-Arrays beim Ersetzten der Marker. Denn $LANG->getLL() nimmt immer die BE-Sprache.

erlkoenig ·

manno! steht ja alles da
http://typo3.org/documentation/document-library/extension-manuals/direct_mail/2.5.2/view/3/4/ :o

Additional fields from the recipient table (e.g. defined by an extension) can be configured in the Extension Manager. You have to switch to "Information" view of EXT:direct_mail and set a comma-separated list of DB fields in "Additional DB fields of the recipie..." (addRecipFields) to make more markers available. These can be used according to the pattern above like ###USER_<some field>###.

würd aber bitte noch hilfe zu meinem error-meldungs-problem hilfe brauche.
(wie in dem thread zu hosteurope beschrieben)

dank.

dfluess ·

@tott
da hast Du natürlich Recht. Kommt davon, wenn man schnell schnell aus dem Bauch was macht und hinterher nicht genug testet.

Wenn Du mir Deine UX mal sendest, dann schau ich rein, wie ich das in Kürze vielleicht ändern kann. Bin in letzter Zeit leider immer ein wenig kurz angebunden
🙂

julie ·

@dfluess: wenn df_direct_mail_subscription jetzt auch mit sr_feuser_register funktioniert, kann ich es dann auch mit sr_email_subscribe verwenden?

übrigens: finde ich toll, dass du hier immer rede und antwort stehst 🙂

Rene_Ott ·

Hallo @all,
bei der Konstellation T3 v.4.1.3, direct_mail 2.5.2 und df_direct_mail_subscription 1.0.1, tt_address 2.2.1

gibt es bei der df_direct_mail_subscription ext einige Probleme:

Die Zeile:

include(t3lib_extMgm::extPath('df_direct_mail_subscription').'pi1/locallang.xml');

Muss durch

$LANG->includeLLFile(t3lib_extMgm::extPath('df_direct_mail_subscription').'pi1/locallang.xml');

ersetzt werden, wegen der locallang XML file, die kann nicht eingebunden werden. Jetzt bekomme ich aber den Fehler

Warning: reset() [function.reset]: Passed variable is not an array or object in /typo3_src-4.1.3/t3lib/class.t3lib_div.php on line 1653

Was muss da noch geändert werden?
In tt_address wird bei gender entweder m oder f reingeschrieben. Wird das von der df_direct_mail_subscription ext berücksichtigt. Habe den code kurz überflogen aber nichts konkretes dazu entdecken können...

Beste Grüsse und ein frohes neues Jahr 2008,
René

manfredo ·

Puh, ich hab die Lösung:

Also man muss per EM die Datei: pi1/locallang.xml editieren und durch folgenden Inhalt ersetzten:

<?php

$LOCAL_LANG = Array (
	'default' => Array (
		'dmail_gender_mfale' => 'Very honoured lady, Dear Sir',	
		'dmail_gender_male' => 'Mr.',
		'dmail_gender_fmale' => 'Mrs.',
		'dmail_gender_all' => 'Ladies and Gentlemen',					
	),
	'dk' => Array (),
	'de' => Array (
		'dmail_gender_mfale' => 'Sehr geehrte Herr und Frau',		
		'dmail_gender_male' => 'Sehr geehrter Herr',
		'dmail_gender_fmale' => 'Sehr geehrte Frau',
		'dmail_gender_all' => 'Sehr geehrte Damen und Herren',		
	),
	'no' => Array (),
	'it' => Array (),
	'fr' => Array (),
	'es' => Array (),
	'nl' => Array (),
	'cz' => Array (),
	'pl' => Array (),
	'si' => Array (),
	'fi' => Array (),
	'tr' => Array (),
	'se' => Array (),
	'pt' => Array (),
	'ru' => Array (),
	'ro' => Array (),
	'ch' => Array (),
	'sk' => Array (),
	'lt' => Array (),
	'is' => Array (),
	'hr' => Array (),
	'hu' => Array (),
	'gl' => Array (),
	'th' => Array (),
	'gr' => Array (),
	'hk' => Array (),
	'eu' => Array (),
	'bg' => Array (),
	'br' => Array (),
	'et' => Array (),
	'ar' => Array (),
	'he' => Array (),
	'ua' => Array (),
	'lv' => Array (),
	'jp' => Array (),
	'vn' => Array (),
	'ca' => Array (),
	'ba' => Array (),
	'kr' => Array (),
	'eo' => Array (),
	'my' => Array (),
	'hi' => Array (),
);
?>

Danach die Datei: pi1/class.ux_dmailer.php editieren und zwar die Zeile:

include (t3lib_extMgm::extPath('df_direct_mail_subscription').'pi1/locallang.php');

durch folgende Zeile ersetzten:

include (t3lib_extMgm::extPath('df_direct_mail_subscription').'pi1/locallang.xml');

So jetzt ist die Ext. schon lauffähig.

Dann im EM unter direc_mail in das Feld "Additional DB fields of the recipie..."
folgendes eingeben: tx_dfdirectmailsubscription_gender.

In dem Newsletter folgende Marker setzten: ###USER_tx_gender### ###USER_name###,

manfredo ·

Leider musste ich feststellen das die Ext. df_direct_mail_subscription 1.0.1 nicht ganz rund läuft mit der direct_mail 2.5.2 zumindest Optisch gesehen.

Zum Beispiel fehlen beim Versand-Status, nachdem man den Newsletter per Hand raus geschickt hat, bei der Tabellenauflistung der versendenten Newsletter, in der oberen Tabellezeile die Bezeichnungen.

Dann wenn man bei Schritt 4 einen personalisierten Testnewsletteruser auswählt, bekommt man normalerweise die Seite noch mal angezeigt, mit dem Vermerk oben: Newsletter wurde versendet. Diese Seite wird nun ohne Text dargestellt, d.h. auch die Weiter u. Zurück Buttons haben plötzlich keinen Text mehr!?

Sonst läuft die Extension super...