Ergebnis 1 bis 4 von 4

Thema: Benutzterbezogenes Formular

  1. #1
    Contao-Nutzer
    Registriert seit
    24.04.2018.
    Beiträge
    107

    Standard Benutzterbezogenes Formular

    Hi,
    ich wollte auf meiner Seite ein Formular mit einer Checkbox + Link zu der Datenschutzerläuterung. Ich habe dazu in der Datenbank in der Tabelle tl_members 2 zusätzliche Spalten angelegt.
    Einen boolean für gelesen oder nicht und einen Timestamp.
    Das Formular fügt auch die Werte in der richtigen Spalte ein aber erstellt einen neuen Datensatz. Die Daten werden also nicht im Bezug zum angemeldeten Benutzer gespeichert, sondern seperat.
    Gibt es eine Möglichkeit, dass Contao die Daten beim Member einträgt? Muss ich eine andere Art Formular benutzen? In dem Formular zum Verwalten persönlicher Daten tauchen die neuen Spalten nicht auf.

    Und nebenbei wäre es cool wenn jemand eine Idee hätte, wie ich ein Formular nur anzeigen lasse, wenn in der Datenbank steht, dass dieser Benutzer noch nicht bestätigt hat.

  2. #2
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn du die Felder für tl_member so angelegt hast, wie der Core dies auch macht, dann kannst du sie auch im Modul Personendaten auswählen. evtl. fehlt dir feEditable und feViewable.

    Dann kannst du ein eigenes Personendaten Modul dafür anlegen mit eigenem Template. In dem Template dann prüfen ob das Feld true ist.
    PHP-Code:
    if($this->myField)
    {
      return;

    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  3. #3
    Contao-Nutzer
    Registriert seit
    24.04.2018.
    Beiträge
    107

    Standard

    Hi,
    danke für die Antwort.

    Zum 2. Punkt.
    Ich habe mir ein Template für genau das Formular gemacht, wo ich den Inhalt eines der Felder Prüfen will.
    PHP-Code:
    $this->myField 
    oder
    PHP-Code:
    $this->firstname 
    geben alle nur Null zurück.
    Ich habe mir die Templatevariabeln ausgegeben und gesehen, dass es ja eine Liste mit den Feldern(ohne ihr value) und eine Liste mit den fertigen html Elementen. Und ich kann ja wenn nur umständlich das value aus den fertigen HTML Elementen auslesen . Ich will nur wissen, ob entweder das Datenbankfeld oder das Formularfeld (haben ja den selben Wert) True sind. Geht das über das Template oder muss ich da mit javascript die Checkboxstate im Formular prüfen?
    Das habe ich im Template eingefügt (der if funktioniert natürlich nicht).
    PHP-Code:
    if (!$this->lb_dataProcessingContract)
    {

    $objPage = \PageModel::findByPK(189); 
    $pageURL = \Controller::generateFrontendUrl($objPage->row()); 
    \
    Controller::redirect($pageURL); 


  4. #4
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, stimmt. Die reinen Memberdaten werden in diesem Modul nicht ausgegeben. Mit folgendem Code kommst du in dem Template an die Daten. Du erstellst ein Member-Object des eingeloggten Mitglieds.
    PHP-Code:
    ?php

    $memberObj 
    = \FrontendUser::getInstance();

    dump($memberObj->username$memberObj->myField$memberObj->getData());

    ?> 
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

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
  •