Zum Inhalt springen

mailformplus >> Daten nach tt_address

Erstellt am 15. Februar 2005 · 7 Antworten · letzte Antwort am 16. April 2008

Tags: Frage

BazenPe ·

Liebe Typo3-Gemeinde!
Ich habe auch nach längerer Suche im Forum leider noch keine Lösung für mein Problem gefunden....
Ich habe eine funktionierende Extension von Address Directory, dass seine Daten ja aus der Datenbank tt_address holt.
Nun habe ich die Extension mailformplus installiert, damit sich dort Leute eintragen können. Die Daten werden schon als email versandt, nun sollen sie aber auch in die tt_address datenbank gespeichert werden, damit ich nicht alle von Hand eintragen muss.
Ich bin nach der Anleitung vn typo3.org vorgegangen, leider werden die Daten aber einfach nicht gespeichert. Warum weiß ich leider nicht, weil es auch keine Fehlermeldung gibt.
Kann mir jemand helfen?

Hier meine Scripts:

Typoscript im Setup-Feld mailformplus seite:

plugin.tx._thmailformplus_pil.saveDB = 1
plugin.tx_thmailformplus_pil.saveDB {
dbTable = tt_address
fileUpload = uploads/tx_addresses
fileTypes = .jpg,gif,png,jpeg
fileSize - 100000
dbinsert=pid:105, hidden:1, deleted:0, tx_spdirectory_feuser:0, tx_spdirectory_fegroup:0, 
# if dbkey is not set: "uid" is taken
dbkey =uid
# [inputFieldName]:[DBName]
mapping=name:name, title:title, email:email, fax:fax, address:address,
phone:phone, image:image, mobile:mobile, www:www, company:company, tx_spdirectory_cat:tx_spdirectory_cat, description:description, country:country, zip:zip, city:city 
}

HIer das Template meines Formulars:

<!-- ###TEMPLATE_FORM### begin

shows formular field to be filled out

-->

<script language="JavaScript" type="text/JavaScript">

<!--

function chkFormular() {

if (document.Formular.Vorname.value == "") {

      alert("Bitte geben Sie Ihren Vornamen an!");

        document.Formular.Vorname.focus();

        return false;

}    

if (document.Formular.Nachname.value == "") {

      alert("Bitte geben Sie Ihren Nachnamen an!");

        document.Formular.Nachname.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">

<table border="0">
<tr><td>Name:</td><td><input type="text" name="name" value="###value_name###"></td></tr>
<tr><td>Title:</td><td><input type="text" name="title" value="###value_title###"></td></tr>
<tr><td>Email:</td><td><input type="text" name="email" value="###value_email###"></td></tr>
<tr><td>Phone:</td><td><input type="text" name="phone" value="###value_phone###"></td></tr>
<tr><td>Mobile:</td><td><input type="text" name="mobile" value="###value_mobile###"></td></tr>
<tr><td>URL:</td><td><input type="text" name="www" value="###value_www###"></td></tr>
<tr><td>Address:</td><td><input type="text" name="address" value="###value_address###"></td></tr>
<tr><td>Company:</td><td><input type="text" name="company" value="###value_company###"></td></tr>
<tr><td>Fax:</td><td><input type="text" name="fax" value="###value_image###"></td></tr>
<tr><td>Image:</td><td><input type="file" name="image" value="###value_fax###"></td></tr>

<tr><td>City:</td><td><input type="text" name="city" value="###value_city###"></td></tr>
<tr><td>ZIP:</td><td><input type="text" name="zip" value="###value_zip###"></td></tr>
<tr><td>Country:</td><td><input type="text" name="county" value="###value_country###"></td></tr>
<tr><td>Category:</td><td><input type="text" name="tx_spdirectory_cat" value="###value_tx_spdirectory_cat###"></td></tr>
<tr><td>Description:</td><td><input type="text" name="description" value="###value_description###"></td></tr>


<tr><td><input type="submit" value="Send"> <input type="reset"><td></tr>
</table>
</form>

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







<!-- ###TEMPLATE_SUBMITTED_OK### begin

OPTIONAL - will be shown if form was submitted and all required fields were filled out

-->

<b>Thank you, your request will be answered soon.</b>

<!-- ###TEMPLATE_SUBMITTED_OK### end -->









<!-- ###TEMPLATE_EMAIL_USER### begin

OPTIONAL - this will be the email text that is sent to the user (plaintext!)

-->

Hello ###name###,

You have just filled out our FAQ-form and stated:

###question###


We will get back to you as soon as possible,

ciao, the MetaDataStore Team

<!-- ###TEMPLATE_EMAIL_USER### end -->



<!-- ###TEMPLATE_EMAIL_RECEIVER### begin

OPTIONAL - this will be the email text that is sent to the admin (plaintext!)

(admin-email = the email you can specify in the mailformplus plugin)

-->

Hello admin,

A user just filled out the FAQ-form and stated:

###value_name###
###value_title###
###value_company###
###value_phone###
###value_mobile###
###value_address###
###value_fax###
###value_image###
###value_www###
###value_city### 
###value_zip###
###value_country### 
###value_tx_spdirectory_cat###
###value_description###



please contact the user: ###value_email###



<!-- ###TEMPLATE_EMAIL_RECEIVER### end -->









<!-- ###TEMPLATE_ERROR### begin



OPTIONAL ? this section holds the error texts for the input fields.

        Only a primitive server side check is supported: you can specify fiels that have to be filled out.      If not, this error message is shown.

-->



        <!-- ###ERROR_START### begin 

                this is used for the global error marker ###ERROR### -->

        The following errors occurred:

        <ul>

        <!-- ###ERROR_START### end -->





        <!-- ###ERROR_END### begin 

                this is used for the global error marker ###ERROR### -->

        </ul>

        <!-- ###ERROR_END### end -->



        <!-- ###ERROR_FILESIZE### begin 

                this is used if you use the file upload functionality -->

        <li>File is too large!</li>

        <!-- ###ERROR_FILESIZE### end -->





        <!-- ###ERROR_FILETYPE### begin 

                this is used if you use the file upload functionality -->

        <li>File is not allowed!</li>

        <!-- ###ERROR_FILETYPE### end -->




        <!-- ###ERROR_titel### begin -->

        <li>insert Title</li>

        <!-- ###ERROR_titel### end -->



<!-- ###TEMPLATE_ERROR### end -->

Wie gesagt. Ich belkomme die Daten schon per Email, bloß gehen sie nicht in die Datenbank...
Über Hife wäre ich sehr dankbar, vielleicht bin ich ja auch nicht der einzige der so eine Funktion gebrauchen kann...

compaqt ·

Ich hänge auch beim Eintragen in die Tabelle tt_address fest.

Mein Template:

<!-- ###TEMPLATE_FORM### begin
  shows formular field to be filled out
-->

<form name="formular" method="post" action="index.php" enctype="multipart/form-data">
<input type="hidden" name="id" value="###PID###" />
<input type="hidden" name="submitted" value="1" />
<table>
	<tr>
		<td class="suchen">Newsletter</td>
	</tr>
	<tr>
		<td><input type="text" name="name" value="Peter Muster" /></td>
	</tr>
	<tr>
		<td><input type="text" name="email" value="peter@muster.ch" /></td>
	</tr>
	<tr>
		<td><input type="submit" value="submit" /></td>
	</tr>
</table>
</form>
<!-- ###TEMPLATE_FORM### end -->

Der Typoscriptteil:

plugin.tx_thmailformplus_pi1.saveDB = 1
plugin.tx_thmailformplus_pi1.saveDB {
  dbTable = tt_address
  dbinsert=pid:24,hidden:1
  # if dbkey is not set: "uid" is taken
  dbkey =uid
  # [inputFieldName]:[DBName]
  mapping=name:name,email:email
}

Hat mir jemand ein Tipp wie ich das Eintragen doch noch schaffen kann?

Danke und Gruss
compaqt

just2b ·

peter hat mir gerade per icq gsagt, dass er eine neue version hinaufgeladen hat...

viel erfolg
ps: einige erneuerungen, bugfixes, viell lösts euer problem auch

susy2space ·
compaqt schrieb

Die Codezeile um den Bug zu beheben habe ich bereits ergänzt. Es hat aber nichts geändert.

Wie lautet die denn ?

Ich kann den Beitrag nicht lesen mit dem Bug...da temporär deaktiviert

Flexi ·

Ich habe es auch noch nicht geschafft die Formular-Daten in tt_address zu speichern.

Hat das evtl. schon irgendwer geschafft?

Ich wäre euch sehr dankbar, wenn das irgenwie klappen würde.

edit: ok hat geklappt. Man muss scheinbar die Reihenfolge in der Tabelle von tt_address einhalten.