Contao-Camp 2024
Ergebnis 1 bis 17 von 17

Thema: Neue Felder aus xtmembers_fieldeditor werden nicht in Mitglieder übernommen

  1. #1
    Contao-Nutzer
    Registriert seit
    25.05.2011.
    Ort
    Speckgürtel Frankfurt
    Beiträge
    150

    Frage Neue Felder aus xtmembers_fieldeditor werden nicht in Mitglieder übernommen

    Hallo,
    ich nutze Contao 3.5.0 und xtmembers_fieldeditor 3.1.0.9011 und habe folgendes Problem:

    Ich habe 2 neue Felder mit dem Editor erzeugt, die beide in einer neuen Legende (mit dem ersten Feld definiert) liegen. Die Felder und die Legende werden jedoch nicht beim Mitglied angezeigt. Weder werden die Felder zum Befüllen mit Daten angezeigt noch tauchen sie in der Liste "Öffentliche Felder" auf. Es funnktioniert auch nicht wenn keine neue legende definiert wird.

    Ich habe bereits so etwas in einem anderen Projekt umgesetzt, jedoch läuft dieses i.M auf Contao 3.2.21 und xtmembers_fieldeditor 3.1.0. Dort klappt alles wunderbar.

    Hat da jemend eine Idee???

  2. #2
    Contao-Nutzer
    Registriert seit
    30.05.2010.
    Ort
    Schweiz
    Beiträge
    247

    Standard

    Habe auch das selbe Problem unter Contao 3.5.6... könnte wohl am MultiTextWizard liegen, welcher nicht kompatibel ist?

  3. #3
    Contao-Nutzer
    Registriert seit
    30.05.2010.
    Ort
    Schweiz
    Beiträge
    247

    Standard

    Das wäre dann wohl der unbequeme Weg:

    https://docs.contao.org/books/manual...nzufuegen.html

    Werde das mal versuchen...

  4. #4
    Contao-Nutzer
    Registriert seit
    30.05.2010.
    Ort
    Schweiz
    Beiträge
    247

    Standard

    Ok habe das Beispiel vom obigen Link ausprobiert, hat aber leider auch nicht funktioniert.

    Das Feld erscheint zwar bei den Mitgliedern, kann aber nicht abgespeichert werden:

    PHP-Code:
    Query errorUnknown column 'customer_number' in 'field list' (UPDATE tl_member SET customer_number='1234' WHERE id='2'

  5. #5
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Du hast wahrscheinlich vergessen, nach den Anpassungen in der DCA Datei auch die Datenbank zu aktualisieren

    Das machst Du unter System -> Paketverwaltung wenn Du den Composer Dient installiert hast oder unter System -> Erweiterungsverwaltung falls nicht.

    Damit wird die Spalte in der Datenbank gemäß Deinen neuen Definitionen angelegt.

  6. #6
    Contao-Nutzer
    Registriert seit
    30.05.2010.
    Ort
    Schweiz
    Beiträge
    247

    Standard

    Nein das habe ich nicht vergessen, ich habe dies sogar übers Install Tool versucht, hat auch nicht funktioniert. Das System hat mir gemeldet, dass die Datenbanken aktuell sind...

  7. #7
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Hmmm. Komisch, denn die Fehlermeldung ist recht explizit

    Code:
    Query error: Unknown column 'customer_number'
    Bliebe vielleicht noch zu checken, daß Du im DCA nicht nur die Spalte customer_number definierst, sondern dabei auch das SQL für die Erzeugung angibst.

    Sonst habe ich keine Idee mehr.

  8. #8
    Contao-Nutzer
    Registriert seit
    30.05.2010.
    Ort
    Schweiz
    Beiträge
    247

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen

    Bliebe vielleicht noch zu checken, daß Du im DCA nicht nur die Spalte customer_number definierst, sondern dabei auch das SQL für die Erzeugung angibst.
    Hmm davon steht aber nichts im Beispiel... du meinst so einen Befehl wie Create Table oder so.... Meine PHP/SQL Erfahrungen liegen schon eine Weile zurück

    Dann könnte ich ja auch im PHP MyAdmin (oder wie das heisst), manuell das Feld erzeugen oder?

    Noch ein Screenshot vom Install Tool, oben wird der Inhalt ausgegeben... sollte ja wohl auch nicht sein oder?:
    Angehängte Grafiken Angehängte Grafiken
    Geändert von walkabout77 (24.01.2016 um 21:10 Uhr)

  9. #9
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Create table brauchst Du nicht, es geht ja um das Hinzufügen einer neuen Spalte in einer bereits existierenden Tabelle.

    Ich meinte das
    Code:
    'sql'       => "varchar(8) NOT NULL default ''"
    aus dem Beispiel.

    Die Ausgabe aus Deinem Screenshot am oberen Bildschirmrand ist aber nicht das, was Du sehen möchtest. Das ist einfach die Test-Ausgabe von Php-Quelltext. Fängt Deine Datei evtl. nicht mit
    PHP-Code:
    <?php
    an? Dann würde der PHP-Code nur als Text interpretiert (und ausgegeben), es gibt also keine Befehle, die die Datenbank ändern wollen und damit wäre die Datenbank aktuell.

  10. #10
    Contao-Nutzer
    Registriert seit
    30.05.2010.
    Ort
    Schweiz
    Beiträge
    247

    Standard

    Dann würde der PHP-Code nur als Text interpretiert (und ausgegeben), es gibt also keine Befehle, die die Datenbank ändern wollen und damit wäre die Datenbank aktuell.
    Na klar, PHP Grundlagen erste Stunde

    Das heisst man sollte nie blind einem Beispiel vertrauen... vielleicht schreib ich dann den Wikieintrag für Dummies

    Naja eigentlich hätte ich das wissen sollen Habe ja mal ein paar Sachen gemacht in PHP.

    Im Moment scheint der Webserver Probleme zu haben, aber das wird wohl funktionieren, habe die Tags jetzt eingefügt.

    Und wie gehe ich vor wenn ich mehrere Felder benötige, resp. 8 Checkboxen? Einfach die 2 Blöcke kopieren und die Daten entsprechend ändern? Als Input Type "checkbox" verwenden?

    PHP-Code:
    // Anpassung der Palette
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace
    (
        
    'company',
        
    'customer_number,company',
        
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default']
    );

    // Hinzufügen der Feld-Konfiguration
    $GLOBALS['TL_DCA']['tl_member']['fields']['customer_number'] = array
    (
        
    'label'     => &$GLOBALS['TL_LANG']['tl_member']['customer_number'],
        
    'exclude'   => true,
        
    'inputType' => 'text',
        
    'eval'      => array('mandatory'=>true'rgxp'=>'digit''maxlength'=>8),
        
    'sql'       => "varchar(8) NOT NULL default ''"
    ); 
    Und vielen Dank erstmal für deine Bemühungen!

    Besser wäre natürlich wenn man den xtmembers_fieldeditor zum laufen bringen würde. Aber das wird wohl schwierig...


    PS: Habe gerade gesehen, dass das Feld nicht im Modul Registrierung/Personendaten erscheint... Wie kann ich das aktivieren?
    Geändert von walkabout77 (24.01.2016 um 22:08 Uhr)

  11. #11
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von walkabout77 Beitrag anzeigen
    Und wie gehe ich vor wenn ich mehrere Felder benötige, resp. 8 Checkboxen? Einfach die 2 Blöcke kopieren und die Daten entsprechend ändern? Als Input Type "checkbox" verwenden?
    oder als ein Feld anlegen. Schau Dir dazu als Beispiel mal die Tabelle tl_member und das Feld groups an.

    Habe gerade gesehen, dass das Feld nicht im Modul Registrierung/Personendaten erscheint... Wie kann ich das aktivieren?
    Das sind die Einträge unter 'eval' wie z.B.

    PHP-Code:
    'eval' => array('feEditable'=>true'feViewable'=>true'feGroup'=>'personal'/* weitere Konfiguration */), 

  12. #12
    Contao-Nutzer
    Registriert seit
    30.05.2010.
    Ort
    Schweiz
    Beiträge
    247

    Standard

    Vielen Dank für die Tips...

    oder als ein Feld anlegen. Schau Dir dazu als Beispiel mal die Tabelle tl_member und das Feld groups an.
    Habe ich... steh [BLOB-18B].. hmmm und jetzt? Sagt mir überhaupt nichts

    Im Registrierungsmodul ist jetzt eine Checkbox mehr.. aber ohne Namen... wie gebe ich dieser ein Label?

    Wie mache ich eine eigene Gruppe für diese Felder in den Mitgliederdaten? Gibt es da nirgends eine Anleitung für Leute welche nicht täglich mit Contao zu tun haben?

    Meine aktuelle tl_member.php

    PHP-Code:
    <?php
    // Anpassung der Palette
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace
    (
        
    'company',
        
    'arb_1,company',
        
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default']
    );

    // Hinzufügen der Feld-Konfiguration
    $GLOBALS['TL_DCA']['tl_member']['fields']['arb_1'] = array
    (
        
    'label'     => &$GLOBALS['TL_LANG']['tl_member']['arb_1'],
        
    'exclude'   => true,
        
    'inputType' => 'checkbox',
        
    'eval'      => array('feEditable'=>true'feViewable'=>true'feGroup'=>'personal'),
        
    'sql'       => "varchar(8) NOT NULL default ''"
    );





    // Beispiel Forum
    //'eval' => array('feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', /* weitere Konfiguration */),

    //Kopie Original
    //'eval'      => array('mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>8),
    ?>
    Noch eine Frage zur Sicherheit... ist es möglich mit soclhen Änderungen die Contao Datenbank zu schädigen? Habe mir jetzt mal eine Lokale Kopie mit XAMPP angelegt...

  13. #13
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Dir fehlen
    • in der DCA Definition noch die 'options',
    • in 'eval' wahrscheinlich 'multiple'=>true
    • und das 'sql' passt nicht (sollte 'blob NULL' sein).
    • Und zuletzt der Feldtyp. Du willst (wahrscheinlich) nicht 'checkbox' (eine Checkbox) sondern 'checkboxWizard' (mehrere Checkboxen).

  14. #14
    Contao-Nutzer
    Registriert seit
    30.05.2010.
    Ort
    Schweiz
    Beiträge
    247

    Standard

    Sicher gut gemeint, aber das hilft mir leider nicht wirklich weiter...

    Also unterm Strich heisst das wohl, ich brauche einen Entwickler der mir das macht Was kostet sowas? Wird für einen Profi wohl eine kurze Sache sein....
    Geändert von walkabout77 (25.01.2016 um 21:58 Uhr)

  15. #15
    Contao-Nutzer
    Registriert seit
    30.05.2010.
    Ort
    Schweiz
    Beiträge
    247

    Standard

    Das beste wäre wohl, wenn die Erweiterung "xtmembers_fieldeditor" unter Contao 3.5.6 laufen würde, damit könnte ich diese Felder selber machen....

    Niemand eine Ahnung wieso die nicht läuft?

  16. #16
    Contao-Nutzer Avatar von Dr. Jo
    Registriert seit
    11.08.2009.
    Ort
    Riehen (CH)
    Beiträge
    205

    Standard

    Hallo Walkabout, prüfe doch mal, ob es da vielleicht einen Konflikt mit anderen Erweiterungen gibt - ich nutze die Erweiterung gerade auch unter 3.5.6 und zwar ohne Probleme?

  17. #17
    Contao-Nutzer
    Registriert seit
    30.05.2010.
    Ort
    Schweiz
    Beiträge
    247

    Standard

    Ok das Problem ist gelöst... ich habe übersehen, dass man die Felder erst als eine Erweiterung exportieren muss. Nach der Aktualisierung der Datenbanken stehen die Felder auch zur Verfügung...

    Das erspart mir ne Menge Arbeit!

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
  •