Seite 3 von 3 ErsteErste 123
Ergebnis 81 bis 96 von 96

Thema: [zExtendedRegistration] Neue Features für die Registrierung

  1. #81
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Mach das mit ner if Abfrage, dass die Zeilen nur im BE ignoriert werden. Im FE wird jetzt die Ausgabe fehlen.

    Aber, ja, das sollte nicht das ursprüngliche Problem sein.


    Sent from my iphone using Tapatalk
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

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

    Standard

    Hi,

    ich habe bei einer Installation das selbe Problem, gibt es hier schon eine Lösung?

    Grüße

    Chris

  3. #83
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von typo Beitrag anzeigen
    Hi,

    ich habe bei einer Installation das selbe Problem, gibt es hier schon eine Lösung?

    Grüße

    Chris
    Welches Problem?
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

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

    Standard

    Hi,

    dieses hier:

    Hallo Tim

    Mit deiner Erweiterung funktioniert wahrscheinlich im Formulargenerator der Feld-Typ HTML, Erklärungen nicht mehr korrekt.
    Siehe mal hier...

    Wenn ich die Erweiterung deaktiviere funktioniert es wieder normal.

    Grüsse
    Steven

  5. #85
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Kommst du mit der Lösung oben selbst ans Ziel?



    Sent from my iphone using Tapatalk
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  6. #86
    Contao-Nutzer Avatar von koopoo
    Registriert seit
    01.11.2009.
    Ort
    Bonn
    Beiträge
    127

    Standard Fatal error: Uncaught exception Exception with message Query error: Unknown column '

    Hallo Tim!

    Muss diesen Fehler noch einmal aufgreifen. Er wurde hier bereits angesprochen - von brain1965 -, habe hier aber keinen
    Lösungsansatz finden können.

    Hintergrund ist:
    Ich habe ein Teilnahmeformular anzulegen, über welches der Interessent zur Mitgliedergruppe "Teilnehmer"
    hinzugefügt wird - also somit eine Registrierung erfolgt. Deshalb habe ich dem Registrierungsformular entsprechend zusätzliche Formularfelder hinzugefügt
    - das macht ja Deine Erweiterung möglich -, indem ich das im Formulargenerator generierte Formular zugewiesen habe.

    Wird das Formular im FE nun abgesendet erhalte ich diese Fehlermeldung:
    Fatal error: Uncaught exception Exception with message Query error: Unknown column 'zusage' in 'field list' (INSERT INTO tl_member (zusage, begleitung, ... ETC.

    Meine Vermutung:
    Kann es sein, dass ich die Formularfelder nun zudem noch manuell in der Datenbank anlegen muss, eben wegen der Meldung "unknown column"?
    Habe ich hier auch ein entsprechendes Template zuzuweisen?

    Weitere Frage:
    Berücksichtigt Deine Erweiterung auch das Formular-Element "Conditional Select Menu"? --- Wenn ja, WIE? Denn ausgegeben wurde es ohne die Ausklapp-Funktion nach Auswahl der Checkbox?

    Dank Dir für die Hilfe!!!

    Beste Grüße

    Rüdiger

  7. #87
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Welchen Feldtyp ist denn das Feld "zusage" ?

    Good to know:
    Nein, die nötigen Felder werden für die tl_member "on the fly" erstellt und nach der Aktion wieder gelöscht. Die festen Daten liegen in der tl_zextendedregistration_fields

    Formularfeldtypen, die nicht Standard sind müssen ggf. ergänzt werden. Ein paar habe ich bereits in der Erweiterung selbst angelegt. Z.B. die vom efg.

    Ein conditional select ist nicht dabei. Das müsstest du in einer kleinen Erweiterung ergänzen damit es innerhalb der zExtendedRegistration korrekt generiert wird.
    Registrieren tust du deine neue Klassen auf dem herkömlichen Weg:

    Hier die neue Klasse für den Typ HTML als Beispiel:
    $GLOBALS['TL_FFL']['html'] = 'zFormHtml';

    Schau da mal rein, das sollte selbsterklärend sein.

    Um Felder vor der Generierung zu modifizieren kommt die Erweiterung mit einem HOOK:
    $GLOBALS['TL_HOOKS']['zExtendedRegistration']['getFormFieldDCA']

    Übermittelt werden :$fieldName,$fieldConf,$field,$objModule
    Die Funktion erwartet einen Array für die Felddefinition zurück.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  8. #88
    Contao-Nutzer Avatar von koopoo
    Registriert seit
    01.11.2009.
    Ort
    Bonn
    Beiträge
    127

    Standard

    Vielen Dank für die zügige Antwort ...

    aber ... schlau, wer dumm nachfragt, so wie ich jetzt, da ich bisher leidlich wenige Anpassungen/Erweiterungen als PHP-Greenhorn vorgenommen habe:

    Formularfeldtypen, die nicht Standard sind müssen ggf. ergänzt werden. Ein paar habe ich bereits in der Erweiterung selbst angelegt. Z.B. die vom efg.
    Wo lege ich diese Formularfeltypen denn an?

    Um Felder vor der Generierung zu modifizieren kommt die Erweiterung mit einem HOOK:
    $GLOBALS['TL_HOOKS']['zExtendedRegistration']['getFormFieldDCA']
    Und dieser Hook wird über die dca.config verarbeitet oder wo?

  9. #89
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Welcher Typ ist den das Feld "zusage"?
    Wo lege ich diese Formularfeltypen denn an?
    Das sind neue Klassen, die Contao als neue Formularfeldtypen untergejubelt werden.
    Scahu mal in den Ordner der Erweiterung. Dort liegen ein paar z.B. die zFormHeadline. In der config.php der Erweiterung wird diese als neue Klasse für das Formularfeld HTML registriert (es überschreibt hier sogar das eigentliche Feld HTML)
    In der Klasse selbst sollte man immer auf Vererbung setzen, dann musst du nur Änderungen ergänzen, die von der eigentlichen Funktionalität abweichen. Auch bleibt deine Klasse weniger anfällig bei Änderungen am Core.

    Der Hook löst eine Callback Funktion innerhalb deiner beliebigen Klasse aus.
    Siehe: http://contao.org/de/hooks.html
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  10. #90
    Contao-Nutzer Avatar von koopoo
    Registriert seit
    01.11.2009.
    Ort
    Bonn
    Beiträge
    127

    Standard

    Vielen Dank, Tim!
    Ich wurschtel mich mal zum Ziel ... :-)

    Schöne Grüße
    Rüdiger

  11. #91
    Contao-Fan Avatar von phreak
    Registriert seit
    06.07.2009.
    Ort
    Wien
    Beiträge
    325

    Standard

    Danke Tim für die tolle Extension. Die hat mir gerade eben wirklich viel Arbeit abgenommen. *thumbsUp*

  12. #92
    Contao-Nutzer
    Registriert seit
    23.05.2013.
    Beiträge
    1

    Standard Hilfe fürs Bugfixing

    Hallo zusammen

    Ich habe mich in den letzten Tagen intensiv mit der Extension auseinandergesetzt. Erst mal danke an den Ersteller, das ist wirklich ziemlich umfangreich und nützlich.

    Allerdings hatte ich das gleiche Problem, wie von brain beschrieben.
    https://community.contao.org/de/show...l=1#post218356

    Eine genauere Recherche hat dann folgenden Sachverhalt geliefert:
    1. Die zugewiesenen Felder werden nicht in der Datenbanktabelle "tl_member" gespeichert (deshalb der "column not found" Fehler)
    2. Beim Bearbeiten eines Mitgliedsdatensatzes im Backend - also reines Aufrufen der Seite - wird in der tl_member das entsprechende Feld angelegt, so dass das Speichern dann auch funktioniert

    ABER: Es wird nie etwas in den beiden Tabellen "tl_zextendedregistration" und "tl_zextendedregistration_fields" gespeichert und das Feld auch nie mehr aus der "tl_member" gelöscht.
    Wenn ich die Logik aber richtig verstanden habe, soll genau das passieren. Also die Speicherung der Daten in den "Hilfstabellen" und das lediglich temporäre Zwischenhalten der Felder in der "tl_member"

    Wenn ich es richtig sehe müssten für das Speichern der Daten in den Hilfstabellen die beiden Funktionen "insertDatabase" und "updateDatabase" sorgen (in der dca/tl_member). Diese werden bei mir aber nie aufgerufen und ich verstehe auch nicht, wo das überhaupt im Code passieren soll.

    Dadurch dass die Tabelle "tl_zextendedregistration" nie befüllt wird gerät dann die ganze Logik durcheinander.

    Mir wäre sehr geholfen, wenn mir jemand einen Hinweis zu den beiden Funktionen "insertDatabase" und "updateDatabase" geben könnte oder mit sagt, ob ich einen generellen Verständnisfehler der Logik habe. Das Fixen würde ich dann gerne selbst übernehmen.

    Danke schon mal im Voraus.
    Meph

  13. #93
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Willkommen im Forum!

    Schön, dass Du an der Erweiterung mithelfen willst. Das ganze ist recht komplex aber im Grunde hast Du es richtig verstanden.

    1. Die zugewiesenen Felder werden nicht in der Datenbanktabelle "tl_member" gespeichert (deshalb der "column not found" Fehler)
    Das ist korrekt. Schöner wäre es in der tl_member, aber dann würden bei jedem Datenbankupdate oder Contao-Update die Spalten rausgeschmissen werden.
    Die Funktion zum Löschen der temp. Felder ist zur Zeit auskommentiert, weil sie bei jedem Seitenaufruf im BE getriggert wurde. Ich hatte da keinen schöneren Weg gefunden (ausser viell. einen Cronjob). Am Ende dachte ich mir "pfeif drauf, lass ich sie drin".

    2. Beim Bearbeiten eines Mitgliedsdatensatzes im Backend - also reines Aufrufen der Seite - wird in der tl_member das entsprechende Feld angelegt, so dass das Speichern dann auch funktioniert
    Korrekt, temporär wird ein entsprechendes Feld angelegt, aber der Wert und die Felddefinitionen werden in der 'tl_zextendedregistration' und die Felddef. in der 'tl_zextendedregistration_fields' abgelegt.

    Wenn ich es richtig sehe müssten für das Speichern der Daten in den Hilfstabellen die beiden Funktionen "insertDatabase" und "updateDatabase" sorgen (in der dca/tl_member). Diese werden bei mir aber nie aufgerufen und ich verstehe auch nicht, wo das überhaupt im Code passieren soll.
    Doch, in Zeile 436-437 (tl_member)
    PHP-Code:
                    // handle database update via save/load callback
                    
    $fieldConf['save_callback'] = array(array('tl_member_zExtendedRegistration''saveCallback'));
                    
    $fieldConf['load_callback'] = array(array('tl_member_zExtendedRegistration''loadCallback')); 
    Die Funktionen werden dem temp. erstellten Feldern direkt zu geordnet.

    Dadurch dass die Tabelle "tl_zextendedregistration" nie befüllt wird gerät dann die ganze Logik durcheinander.
    Das stimmt. Das sollte so nicht sein.

    Das Fixen würde ich dann gerne selbst übernehmen.
    Wäre gut, wenn Du GitHub dafür nutzen würdest. Dann haben alle was davon und ich könnte Änderungen direkt nachvollziehen und ggf. direkt übernehmen.

    Dank Dir,
    Tim
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  14. #94
    Contao-Nutzer Avatar von Eluin
    Registriert seit
    22.08.2011.
    Beiträge
    36

    Standard Funktioniert nicht in 3.1?

    Hallo,

    ich finde die Erweiterung super und sehr hilfreich. Leider bekomme ich sie in 3.1 nicht ans laufen.

    Wenn ich das Install-Tool damit aufrufe erhalte ich folgende Fehlermeldung:


    Code:
    Fatal error: Uncaught exception Exception with message Query error: Table 'contao.tl_zextendedregistration_fields' doesn't exist (SELECT name FROM tl_zextendedregistration_fields) thrown in system/modules/core/library/Contao/Database/Statement.php on line 346
    
    #0 system/modules/core/library/Contao/Database/Statement.php(261): Contao\Database\Statement->query()
    #1 system/modules/zExtendedRegistration/dca/tl_member.php(514): Contao\Database\Statement->execute()
    #2 system/modules/zExtendedRegistration/dca/tl_member.php(48): tl_member_zExtendedRegistration->dropTemporaryColumns()
    #3 system/modules/core/library/Contao/Controller.php(2254): include('/fwapps/data/ht...')
    #4 system/modules/core/library/Contao/DcaExtractor.php(291): Contao\Controller->loadDataContainer('tl_member')
    #5 system/modules/core/library/Contao/DcaExtractor.php(114): Contao\DcaExtractor->createExtract()
    #6 system/modules/core/library/Contao/Database/Installer.php(282): Contao\DcaExtractor->__construct('tl_member')
    #7 system/modules/core/library/Contao/Database/Installer.php(106): Contao\Database\Installer->getFromDca()
    #8 system/modules/core/library/Contao/Database/Installer.php(38): Contao\Database\Installer->compileCommands()
    #9 contao/install.php(214): Contao\Database\Installer->generateSqlForm()
    #10 contao/install.php(971): InstallTool->run()
    #11 {main}
    Wirst du die Erweiterung auch für 3.1 ans laufen bringen? Oder wird es nur für 2.11.6 funktionieren, wie es im Repository steht?

    Danke für die Informationen!

  15. #95
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Danke für die Zeilen.
    Ist bekannt.

    Vorerst wird es keine 3er Version geben.


    Sent from my iphone using Tapatalk
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  16. #96
    Contao-Nutzer Avatar von Eluin
    Registriert seit
    22.08.2011.
    Beiträge
    36

    Standard

    Ok. Dann muss ich mir etwas anderes überlegen. Danke für die Info.

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
  •