Ryllie
I'm new here

MailLogger Form Edit

Jump to solution

Hallo zusammen,

ich bin beim Einrichten des MailLoggers mithilfe des FormEdit-Moduls auf folgendes Problem gestoßen:

Ich habe in meinem Projekt die Sprachen "EN" und "DE" eingerichtet. Die Konfiguration des Formulars habe ich ebenfalls für beide Sprachen durchgeführt.

Beim Generieren funktioniert auch alles ohne Fehler. Wenn ich nun auf den "Senden"-Button klicke dann wird immer nur das deutsche MailTemplate angezogen.

Nun bin ich ein wenig stutzig geworden. Die formlogger.ini-Datei wurde ja beim generieren zwei mal angelegt...jeweils im EN und im DE-Pfad.

Dort steht auch jeweils der richtige Pfad zum richtigen Mailtemplate drin. Allerdings hat man ja während der Projektkonfiguration angeben müssen, dass wo die ini-Datei liegt und dies verweist auf meinen DE-Pfad:

Nun zu meiner eigentlichen Frage: Gibt es überhaupt die Möglichkeit, das Templates je nach genutzter Sprache abschicken? Falls ja, was muss ich umstellen, um ihn auf die richtige INI-Datei zu verweisen?

Schon mal Danke für die Auskunft. Smiley Happy

Gruß,

Stefan

0 Kudos
1 Solution

Accepted Solutions

Hallo,

für diesen Fall muss das Servlert für jede Sprache initiert werden. Sie müssen also die Konfiguration in der web.xml anpassen. Das heist ungefähr so:

     <servlet>

        <servlet-name>fsfe-FormLogger_DE</servlet-name>

        <servlet-class>de.espirit.firstspirit.opt.formedit.FormServlet</servlet-class>

        [..]

    </servlet>

     <servlet>

        <servlet-name>fsfe-FormLogger_EN</servlet-name>

        <servlet-class>de.espirit.firstspirit.opt.formedit.FormServlet</servlet-class>

        [..]

    </servlet>

[...]

<servlet-mapping>

<servlet-name>fsfe-FormLogger_DE</servlet-name>

<url-pattern>*.form_de</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>fsfe-FormLogger_EN</servlet-name>

<url-pattern>*.form_de</url-pattern>

</servlet-mapping>

Im FormStart-Template ist dann noch das *.form erweitern zu "*.form_$CMS_VALUE(#global.language)$

View solution in original post

0 Kudos
6 Replies
maaroufi
I'm new here

Hallo Stefan,

Den Fehler kann ich nicht nachvollziehen, wenn du für beide Sprachen generierst, bekommst du für beide Sprachen auch das Formular. Wenn du dann unter en/deineFormularSeite oder de/deineFormularSeite das Formular ausfüllst und abschickst, sollte das mit den auf der Mailseite konfigurierten Parametern ankommen. Ansonsten poste doch einmal die beiden ini-Dateien und die Konfiguration deiner Datenquelle, deiner Formularseite und deiner Mailseite für beide Sprachen.

Freundliche Grüße

Ismail

0 Kudos

Hallo Ismail,

also, hier sind die Inhalte meiner ini-Files:

24949/de/config/formlogger.ini:

loggers=MailLogger

loggers.mailform=MailLogger

MailLogger.class=de.espirit.firstspirit.opt.formedit.MailLogger

MailLogger.encoding=UTF-8

MailLogger.smtpHost=smtp.server.de

MailLogger.sender=stefan.ryll@materna.de

MailLogger.mailTemplatePath=/de/mailform/mailtemplate.htm

24949/en/config/formlogger.ini:

loggers=MailLogger

loggers.mailform=MailLogger

MailLogger.class=de.espirit.firstspirit.opt.formedit.MailLogger

MailLogger.encoding=UTF-8

MailLogger.smtpHost=smtp.server.de

MailLogger.sender=stefan.ryll@materna.de

MailLogger.mailTemplatePath=/en/mailform/mailtemplate.htm

So weit ist das auch alles in Ordnung. Wie man schon sieht, liegen die beiden ini-Files aber in unterschiedlichen Verzeichnissen.

Und jetzt kommt meines Erachtens die web-app-Konfiguration dazu:

Hier habe ich  folgendes hinterlegt:

FormEditConfig.jpg

Der "loggers.ini-Path" verweist hier immer nur auf den "de" Pfad. Das würde, wenn ich recht in der Annahme gehe, bedeuten, dass er immer nur diese Datei anzieht und somit auch immer nur den Verweis auf das deutsche Template nutzen würde oder gibt es eine Möglichkeit hier sprachabhängig zu agieren?

Gruß,

Stefan

0 Kudos

Hallo Stefan, meines Wissens nach greift nur die in der formedit.ini angegebene URL zur formlogger.ini, in diesem Fall de/config/formlogger.ini, d.h. es wird auch nur diese Konfiguration genommen bzw. angezogen. Ich bin mir da allerdings nicht ganz sicher ob es da nicht einen Umweg gibt und habe schon beim Entwickler des Moduls nachgefragt und auf diesen Thread verwiesen. Sobald es etwas neues gibt werde ich oder er das hier posten.

Freundliche Grüße

Ismail

0 Kudos

Hallo,

für diesen Fall muss das Servlert für jede Sprache initiert werden. Sie müssen also die Konfiguration in der web.xml anpassen. Das heist ungefähr so:

     <servlet>

        <servlet-name>fsfe-FormLogger_DE</servlet-name>

        <servlet-class>de.espirit.firstspirit.opt.formedit.FormServlet</servlet-class>

        [..]

    </servlet>

     <servlet>

        <servlet-name>fsfe-FormLogger_EN</servlet-name>

        <servlet-class>de.espirit.firstspirit.opt.formedit.FormServlet</servlet-class>

        [..]

    </servlet>

[...]

<servlet-mapping>

<servlet-name>fsfe-FormLogger_DE</servlet-name>

<url-pattern>*.form_de</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>fsfe-FormLogger_EN</servlet-name>

<url-pattern>*.form_de</url-pattern>

</servlet-mapping>

Im FormStart-Template ist dann noch das *.form erweitern zu "*.form_$CMS_VALUE(#global.language)$

0 Kudos

Habs zwar noch nicht getestet, aber das klingt auf jeden Fall logisch. 😉

Vielen Dank für die Anwort.

Gruß,

Stefan

0 Kudos

Ich habe es mal getestet und kann die Funktion bestätigen. Einzige minimale Abweichung meinerseits: habe die Sprachkürzel im Servlet-Mapping groß geschrieben, also

<servlet-mapping>

  <servlet-name>fsfe-FormLogger_DE</servlet-name>

  <url-pattern>*.form_DE</url-pattern>

</servlet-mapping>

<servlet-mapping>

  <servlet-name>fsfe-FormLogger_EN</servlet-name>

  <url-pattern>*.form_EN</url-pattern>

</servlet-mapping>

0 Kudos