Ergebnis 1 bis 13 von 13

Thema: Formularfelder befüllen

  1. #1
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard Formularfelder befüllen

    Hi,

    ich habe mit dem Formulargenerator ein Buchungsformular erstellt. Der Seite mit dem Formular werden diverse GET-Parameter übergeben, die dann als Bedingungen für eine SQL-Query genutzt werden sollen. Soweit alles einfach, aber gibt es eine Möglichkeit, die Formularfelder mit den Ergebnissen der SQL-Abfrage zu füllen? Also quasi irgendwie ein onLoadFormular-Hook, wo man die Defaultwerte des Formulars überschreiben kann.

    Vielen Dank und viele Grüße

    Chris

  2. #2
    Contao-Fan
    Registriert seit
    31.07.2009.
    Beiträge
    298

    Standard

    Du kannst den Wert zwischen dem Aufruf von validate() und parse() wie folgt ändern:
    PHP-Code:
    $objWidget = new $strClass(...);
    // ...
    $objWidget->validate(); // hier wird (falls vorhanden) der im Formular eingegebene Wert als value gesetzt
    // ...
    $objWidget->value 'Neuer Wert'// value ändern
    // ...
    $objWidget->parse(); // Feld mit value == 'Neuer Wert' parsen 
    Viele Grüße
    Torben

  3. #3
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Hi Torben,

    vielen Dank, was mir aber leider noch nicht so ganz klar ist, wo baue ich das ein?

    Viele Grüße

    Chris

  4. #4
    Contao-Fan
    Registriert seit
    31.07.2009.
    Beiträge
    298

    Standard

    Ah, ich hatte überlesen, dass Du es mit dem Formulargenerator erzeugt hast. Ich war davona ausgegangen, dass Du das Formular in einem eigenen Modul erzeugst und dann müsstest Du exakt die obigen Codezeilen haben. Beim Formulargenerator ist mir keine Möglichkeit bekannt, das Problem zu lösen.

    Torben

  5. #5
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Ok, das wäre auch ne Möglichkeit ... hättest du ein Beispiel wie ich so ein Formular im eigenen Modul bauen kann? Ist mir leider noch nicht so wirklich klar.

  6. #6
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  7. #7
    Contao-Fan
    Registriert seit
    28.09.2010.
    Ort
    Leipzig
    Beiträge
    461

    Standard

    Leider habe ich den Hook nicht gefunden, gibt es dazu noch einen besseren Link?
    Benötige das für den Fall im Thema
    https://community.contao.org/de/show...ntragen-lassen

  8. #8
    Contao-Nutzer
    Registriert seit
    11.09.2016.
    Beiträge
    79

    Standard

    Hallo zusammen,

    ich möchte das Thema gerne noch einmal kurz auffrischen.
    Ich habe etwas ähnliches vor. Ich habe ein normales Registrierungs-Formular (Contao Registrieren Modul), bei dem ich den Feldern optional mittels GET-Parameter vordefinierte Werte mitgeben möchte.
    Also im Normalfall sind die Felder wie z.B. Vorname oder Nachname leer und müssen ausgefüllt werden, wenn jedoch ein Parameter ?lastname='Mustermann' übergeben wird, soll dieser Wert im Feld Nachname erscheinen.

    Hierzu habe ich den Hook loadFormField ausprobiert (https://docs.contao.org/books/api/ex...FormField.html). Leider bekomme ich es nicht hin für die Input-Felser Werte vorauszufüllen.
    Ist dies so (oder anders) überhaupt möglich?

    Danke und viele Grüße!

  9. #9
    Contao-Fan
    Registriert seit
    28.09.2010.
    Ort
    Leipzig
    Beiträge
    461

    Standard

    Also möglich ist es, dazu musst du das registrierungstemplate anpassen. Kannst dich gern bei mir melden, dann können wir was zusammen bauen.

  10. #10
    Contao-Fan
    Registriert seit
    28.09.2010.
    Ort
    Leipzig
    Beiträge
    461

    Standard

    Seh gerade, dass es kein direktes template gibt zu dem Registrierungsformular. Sollte aber mit js möglich sein, den Feldern zusätzliche Attr. zu geben.
    Geändert von overHead (20.02.2018 um 13:53 Uhr)

  11. #11
    Contao-Nutzer
    Registriert seit
    11.09.2016.
    Beiträge
    79

    Standard

    Jupp, mit JS ist es natürlich möglich.
    Genau, im Core-Template member_default wird lediglich die variable $this->fields ausgegeben.
    Diese könnte man natürlich auch manipulieren, im Template oder im Module selbst. Am schönsten wäre denke ich aber der Weg über einen Hook, ohne sich durch die Module / Template Struktur friemeln zu müssen.

  12. #12
    Contao-Fan
    Registriert seit
    28.09.2010.
    Ort
    Leipzig
    Beiträge
    461

    Standard

    Hast recht. Aber wenn du Interesse hast gib bescheid, da hab ich dann vielleicht für dich einen Lösungsansatz.

  13. #13
    Contao-Nutzer
    Registriert seit
    11.09.2016.
    Beiträge
    79

    Standard

    Ich hätte mir jetzt über eine Funktion (z.B. https://www.sitepoint.com/url-parameters-jquery/ (bisher ungetestet)) die Parameter geladen und in die Input-Felder eingefügt, sofern diese leer sind.
    Oder hast du etwas Contao spezifisches auf Lager, was ich bedenken sollte?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •