Formularfelder vorbelegen

  • lisardo lisardo
    Jedi-Meister
    0 x
    306 Beiträge
    0 Hilfreiche Beiträge
    21. 10. 2005, 10:49

    Da diese Frage immer wieder auftaucht, und ich sie selbst erst gestern hatte, möchte ich sie hier einmal zusammenfassend beantworten. (Vielen Dank auch nochmals an Joey, der mir den richtigen Tipp gegeben hat).

    [b]1. Formularfelder mit Werten aus einer Datentabelle vorbelegen: [/b]
    Zunächst im Content-Element mailform eintragen:

    1. Feldname: | *feldname = input,40 | {DB:tt_datentabelle:uid:datenfeld}

    Dabei muss tt_datentabelle durch den Namen der gewünschten Tabelle ersetzt werden (es gehen nur Tabellen mit tt_ vorneweg). uid ist die Datensatznummer und datenfeld ist der Name des gewünschten Feldes der Datentabelle.
    Das reicht allerdings noch nicht. Es muss im Template noch folgendes konfiguriert werden:
    1. tt_content.mailform.20.data.insertData = 1

    [b]2. Formularfelder mit Übergabewerten aus der URL vorbelegen: [/b]
    Zunächst im Content-Element mailform eintragen:

    1. Feldname: | *feldname = input,40 | {GPvar:var}

    Dabei ist var der Variablenname des Übergabewertes. In der URL also z. B.
    1. www.domain.de/32.0.html?var=BlaBla

    Wieder muss im Template folgendes konfiguriert werden:
    1. tt_content.mailform.20.data.insertData = 1

    [b]3. Formularfelder mit Daten aus einer Datentabelle vorbelegen, wobei der Datensatz über einen Übergabewert aus der URL ausgewählt wird: [/b]
    Dazu muss zunächst im Template per TypoScript eine Globale mit dem entsprechenden Wert gefüllt werden. Auf diese Globale kann dann im Content-Element zugegriffen werden.

    Registrierung des gewünschten Wertes in einer Globalen; ich entnehme einen Wert aus dem Feld title der Tabelle tt_news. Die Übergabevariable heisst wieder var:

    1. tt_content.mailform {
    2. 15 {
    3. meinWert.cObject = RECORDS
    4. meinWert.cObject {
    5. source.data = GPvar:var
    6. tables = tt_news
    7. conf.tt_news = TEXT
    8. conf.tt_news {
    9. field = title
    10. }
    11. }
    12. }
    13. }

    Jetzt kann ich mit register:meinWert auf den gespeicherten Wert zugreifen und ihn im formmail-Content-Element verwenden:

    1. # Example content:
    2. Feldname: | *feldname = input,40 | {register:meinWert}

    Auch hier gilt wieder, dass folgende Zeile im Template stehen muss:

    1. tt_content.mailform.20.data.insertData = 1

    OK, das hilft hoffentlich allen weiter, die Formularfelder vorbelegen wollen. Damit sollte alles möglich sein, was man braucht ...

    Viele Grüße
    Peter


  • 1
  • Oleson Oleson
    Padawan
    0 x
    42 Beiträge
    0 Hilfreiche Beiträge
    08. 01. 2006, 22:00

    Danke erstmal, lisardo, für diese schöne Übersicht. :D

    Hallo zusammen,
    ist es eigentlich möglich, (also möglich ist es auf jeden Fall - ich meine ohne tiefgreifende Änderungen an den php Files) speziell in der [b]News-Singleansicht[/b] (tt_news) die [b]author_email[/b] "auzulesen" und im Formular als [b]Empfänger-eMail[/b] "vorzubelegen" ?

    Folgendes funktioniert zunächst nämlich nicht.

    [b]Formular:[/b] (als Plugin eingefügt in der "News-Singleansicht")

    Feldname: | *feldname = input,40 | {register:meinWert}

    [b]Template -> Setup[/b] (eingefügt in der Seite "News-Singleansicht")

    tt_content.mailform.20.data.insertData = 1
    tt_content.mailform {
    15 = LOAD_REGISTER
    15 {
    meinWert.cObject = RECORDS
    meinWert.cObject {
    source.data = GPvar:var
    tables = tt_news
    conf.tt_news = TEXT
    conf.tt_news {
    field = author_email
    }
    }
    }
    }

    Tschüß und Gruß
    Oleson

  • kinneremer kinnereme...
    Sternenflotten-Admiral
    0 x
    204 Beiträge
    0 Hilfreiche Beiträge
    13. 06. 2007, 16:31

    Hallo,
    möchte über die URL Daten übergeben. Habe laut Anleitung das Template angepasst und die Variablen angelegt (z.B. {GPvar:firma}{GPvar:Mail}). Doch wenn ich die Daten an die URL anhänge, leitet der redirect automatisch auf die Startseite um und sonst passiert nichts. Gibt es da noch einen Trick?

  • jlang jlang
    Padawan
    0 x
    35 Beiträge
    0 Hilfreiche Beiträge
    14. 12. 2007, 10:44

    Hallo!

    Hab das cirka verstanden nur komm ich nicht weiter.
    Ich möchte den Seitentitel in den Betreff einfügen, da das Formular auf mehreren Seiten als Verknüpfung eingefügt ist, und der Titel die Referenz wäre.

    Wie kann ich das machen?

    Vielen Dank für die Antwort

    J.Lang

    Gefunden: [TS]{page:title}[/TS]

  • Longnose Longnose
    R2-D2
    0 x
    114 Beiträge
    0 Hilfreiche Beiträge
    22. 01. 2008, 12:53

    Gute Sache... wie kann man eine IP-Adresse des Absenders oder z.B. ein Datum einfügen im Formular, ohne gleich auf mailform_plus umsteigen zu müssen?

  • ttim ttim
    Jedi-Meister
    0 x
    268 Beiträge
    0 Hilfreiche Beiträge
    22. 01. 2008, 18:25

    auf powermail umsteigen ;-)
    Ich kann es nur empfehlen!

  • masteryoda masteryod...
    Padawan
    0 x
    41 Beiträge
    0 Hilfreiche Beiträge
    13. 02. 2008, 20:15

    Hey,

    wie kann man ein Feld, das bsp. per GPvar vorbelegt wird, auf readonly stellen?

    gruß

  • sventb sventb
    R2-D2
    0 x
    75 Beiträge
    0 Hilfreiche Beiträge
    09. 07. 2008, 10:15

    Gibt es denn auch eine Möglichkeit, Select-Boxen mit Werten aus der Datenbank zu befüllen?

    Also so in der Art:
    [TS]Bitte wählen* | *bla=select | {DB:tt_news_cat:title}
    [/TS]

    So funktioniert es, aber das ist ja Blödsinn:
    [TS]Bitte wählen* | *bla=select | {DB:tt_news_cat:1:title}, {DB:tt_news_cat:2:title}
    [/TS]

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    11. 01. 2009, 22:28

    Immer noch gut und brauchbar - ich mache hier mal ein HOWTO draus...

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • 1