Zum Inhalt springen

mailformplus und andere Tabelle in der DB

Erstellt am 27. Juni 2005 · Noch keine Antworten

Tags: Datenbank, Frage

meta02 ·

Hallo Forum,

ich verwende typo3 3.7 und mailformplus 3.6.1.

Es ist mir zwar gelungen, das plugin funktional zu machen. Es werden auch alle Werte in der DB gespeichert aber leider nur in der standardtabelle tx_thmailformplus_log.

Ich verwende zwei verschiedene Formulare mit dem plugin, ein Kontaktformular und ein Newsletter-Subscription-Formular.

Das erstere soll die Daten in der tx_thmailformplus_log speichern und tut dies auch. Das zweite soll die Daten jedoch in der von mir neu erstellten Tabelle tt_newsletter_subscribers speichern.

Das tut es gerade nicht, obwohl ich mich streng an das englischsprachige Manual gehalten habe.

Mein Formular sieht so aus:

<!-- ###TEMPLATE_FORM### begin-->
<script language="JavaScript" type="text/JavaScript">
<!--
function chkFormular() {
if (document.Formular.firstname.value == "") {
alert("Bitte füllen Sie alle mit einem Stern * gekennzeichneten Felder aus!");
document.Formular.firstname.focus();
return false;
}
if (document.Formular.lastname.value == "") {
alert("Bitte füllen Sie alle mit einem Stern * gekennzeichneten Felder aus!");
document.Formular.lastname.focus();
return false;
}
if (document.Formular.email.value == "") {
alert("Bitte geben Sie eine gültige Email-Adresse ein!");
document.Formular.email.focus();
return false;
}
if (document.Formular.receivenews.value == "") {
alert("Bitte füllen Sie alle mit einem Stern * gekennzeichneten Felder aus!");
document.Formular.receivenews.focus();
return false;
}

return true;
}


//-->
</script>

<form name="Formular" onsubmit="return chkFormular()" method="post" action="index.php" enctype="multipart/form-data">
<input type="hidden" name="id" value="###PID###" />
<input type="hidden" name="submitted" value="1" />
<input type="hidden" name="L" value="0" />
###ERROR###
<table width="517" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="400"><table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200" class="mailform"><label for="gender">gender</label><input type="radio" name="gender" value="Mr" checked_gender_mr="" />
<label for="gender">Mr</label>
<input type="radio" name="gender" id="gender" value="Ms" checked_gender_ms="" />
Ms*<br /><br /></td>
<td width="200" class="mailform"> </td>
</tr>
<tr>
<td width="200" class="mailform"><label for="lastname">Last Name:*</label><br />###error_lastname###
<input type="text" name="lastname" id="lastname" size="31" class="mailform" value="###value_lastname###" />
<br /></td>
<td class="mailform"><label for="firstname">First Name:*</label><br />###error_firstname###
<input type="text" name="firstname" id="firstname" size="31" class="mailform" value="###value_firstname###" />
<br /></td>
</tr>
<tr>
<td colspan="2" class="mailform"><label for="email">E-mail address:*</label><br />###error_email###
<input type="text" name="email" id="email" size="65" class="mailform" value="###value_email###" />
<br /></td>
</tr>
<tr>
<td colspan="2" class="mailform"><label for="daytimephone">Daytime phone number:</label><br />
<input type="text" name="daytimephone" id="daytimephone" size="65" class="mailform" value="###value_daytimephone###" />
<br /></td>
</tr>
<tr>
<td colspan="2" class="mailform"><label for="company">Company/Organisation:</label><br />
<input type="text" name="company" id="company" size="65" class="mailform" value="###value_company###" />
<br /></td>
</tr>
<tr>
<td colspan="2" class="mailform"><label for="occupation">Which best describes your primary
occupation?</label><br />
<input type="text" name="occupation" id="occupation" size="65" class="mailform" value="###value_occupation###" />
<br /></td>
</tr>
</table></td>
<td> </td>
</tr>
<tr>
<td colspan="2" class="mailform"><label for="receivenews">Yes, I would like to receive TerraImaging
newsletter via e-mail...</label><br />
<br />
<input type="radio" name="receivenews" id="receivenews" value="PDF" checked_receivenews_pdf="" />
as an attached PDF-file.<br />
<br />
<input type="radio" name="receivenews" id="receivenews" value="LINK" checked_receivenews_link="" />
<label for="receivenews">as a link and download the PDF-file from the website
myself.</label><br />
<br /> </td>
</tr>
<tr>
<td colspan="2" class="mailform">Fields marked with an asterisk * are required.<br />
<br />
Naturally, we will handle your personal data confidentially and use it
only for the purpose of answering your request. Your personal data will
not be disclosed to third parties. <br />
<br /></td>
</tr>
<tr>
<td colspan="2"><input type="reset" name="clear" value="clear" id="clear" />
<input type="submit" name="submit" value="subscribe" id="subscribe" />
</td>
</tr>
</table>
</form>

<!--###TEMPLATE_FORM### end-->

Dann habe ich ein extension template auf der gleichen Seite installiert, in dem das plugin element mailformplus sich befindet und im Setup folgendes eingetragen:

plugin.tx_thmailformplus_pi1.saveDB = 1
plugin.tx_thmailformplus_pi1.saveDB {
dbTable = tt_newsletter_subscribers
# [inputFieldName]:[DBName]
mapping = pid:id,hidden:hidden,gender:gender,lastname:lastname,firstname:firstname,email:email,daytimephone:daytimephone,company:company,occupation:occupation,receivenews:receivenews
saveDB.debug = 1
}

plugin.tx_thmailformplus_pi1.saveLog = 1
plugin.tx_thmailformplus_pi1.saveLog{
order = pid,hidden,gender,lastname,firstname,email,daytimephone,company,occupation,receivenews
defaultValue = 0
}

Trotzdem werden die Daten in tx_thmailformplus_log und nicht in tt_newsletter_subscribers gespeichert, obwohl ich die hier im Setup doch unter dbTable angegeben habe.

Wie müssen im extension template die Eintragungen für Constants Setup und Rootlevel sowie für Include static AFTER basedOn: sein? (Sind bei mir alle deaktiviert).

Hat jemand eine Idee?

Vielen Dank

meta02