Contao-Camp 2024
Ergebnis 1 bis 27 von 27

Thema: Mitgliederfelder hinzufügen

  1. #1
    Contao-Nutzer Avatar von Schmidty
    Registriert seit
    06.06.2011.
    Ort
    Pforzheim
    Beiträge
    203

    Standard Mitgliederfelder hinzufügen

    Hallo,
    unter Conttao 4.4.14 sollen bei den Mitgliedern zwei Mitgliederfelder hinzugefügt werden. Bei den persönlichen Daten ein Select-Feld für die Anrede und den Titel, bei den Kontaktdaten ein Feld für eine geheime Telefonnummer.

    Dazu habe ich unter /app/Resources/contao/dca eine Datei tl_members.php mit folgendem Inhalt erstellt:

    PHP-Code:
        // Feld Telefonnummer Geheim im Bereich Kontaktdaten hinzufügen
        // Palette
        
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace
        
    (
            
    'contact',
            
    'secret_phone,contact',
            
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default']
        );
        
        
    // Feldkonfiguration
        
    $GLOBALS['TL_DCA']['tl_member']['fields']['secret_phone'] = array
        (
            
    'label'     => &$GLOBALS['TL_LANG']['tl_member']['secret_phone'],
            
    'exclude'   => true,
            
    'search'    => true,
            
    'inputType' => 'text',
            
    'eval'      => array('maxlength'=>64'rgxp'=>'phone''decodeEntities'=>true'feEditable'=>true'feViewable'=>true'feGroup'   =>'contact''tl_class'=>'w50'),
            
    'sql'       => "varchar(64) NOT NULL default ''"
        
    );
        
            
        
    // Feld Anrede / Titel im Bereich Personendaten hinzufügen
        // Palette
        
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace
        
    (
            
    'personal',
            
    'salutation_title,personal',
            
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default']
        );
        
        
    // Feldkonfiguration
        
    $GLOBALS['TL_DCA']['tl_member']['fields']['salutation_title'] = array
        (
        
    'label'         => &$GLOBALS['TL_LANG']['tl_member']['salutation_title'],
        
    'exclude'       => true,
        
    'inputType'     => 'select',
        
    'options'       => array('Herr''Frau''Dr.''Prof.''Prof. Dr.'),
        
    'eval'          => array('includeBlankOption'=>true'feEditable'=>true'feViewable'=>true'feGroup'=>'personal''tl_class'=>'w50'),
        
    'sql'           => "varchar(32) NOT NULL default ''"
        
    ); 
    Unter /app/Resources/contao/languages/de habe ich ebenfalls eine tl_member.php mit den Texten hinzugefügt. Hier der Inhalt:

    PHP-Code:
        $GLOBALS['TL_LANG']['tl_member']['secret_phone'] = array
        (
            
    'Telefonnummer GEHEIM',
            
    'Bitte geben Sie die geheime Telefonnummer ein.'
        
    );
        
        
    $GLOBALS['TL_LANG']['tl_member']['salutation_title'] = array
        (
            
    'Anrede, Titel',
            
    'Bitte geben Sie die Anrede bzw. den Titel ein.'
        
    ); 
    Den Symfony-Cache habe ich gelöscht und das Install-Tool aufgerufen. Im Install-Tool werden die Felder in der Datenbank angelegt, er erscheint keine Fehlermeldung.
    Im Backend sind die neuen Felder aber nicht sichtbar.
    Ich denke, dass mit meiner Palettenkonfiguration etwas nicht stimmt, finde aber den Fehler nicht. Bei den beiden Paletten fehlt auch die Palettenbeschriftung ==> Mitgliederfelder-Paletten.JPG.

    Wo liegt der Fehler?

    Danke für Eure Hilfe.

  2. #2
    Contao-Fan Avatar von eS_IT
    Registriert seit
    21.07.2010.
    Ort
    Werne a. d. Lippe
    Beiträge
    585
    Partner-ID
    6161
    User beschenken
    Wunschliste

    Standard

    Hi Schmidty,

    ist ein Schuß in blaue, aber versuch mal die Unterstriche aus den Feldnamen zu entfernen. Mit Unterstrichen werden die Werte von Auswahlfeldern bei Subpalette abgegrenzt.

    Viele Grüße,
    eS_IT
    Viele Grüße,
    eS_IT
    --
    e@sy Solutions IT - Ihr Partner für professionelle Softwareentwicklung
    Website - Contao Codebook - Partnerprofil - GitHub

  3. #3
    Contao-Nutzer Avatar von Schmidty
    Registriert seit
    06.06.2011.
    Ort
    Pforzheim
    Beiträge
    203

    Standard

    Hallo,
    ich habe die Unterstriche aus den Feldnamen entfernt, den Symfony-Cache geleert und das Install-Tool aufgerufen.
    Die Feldnamen wurden vom Install-Tool in der Datenbank geändert, aber im Backend sind keine Änderungen sichtbar.
    Die neuen Felder werden nach wie vor nicht angezeigt und die Palettenbeschriftung fehlt ebenfalls weiterhin.

  4. #4
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Moin,
    das Einfügen der Felder in die Palletten geht so nicht.

    Mit dem "str_replace" ersetzt man ja Zeichenketten. Damit fügt man nicht das Feld einer Legend hinzu. Beim aktuellen Verfahren sind am Ende die Legenddefinition für Kontakt z.B. so "{secret_phone,contact_legend}".
    Das erklärt, warum die Felder nicht eingefügt werden und die Labeltexte weg sind (die Schlüssel passen ja nicht mehr zusammen).

    Also sucht man sich am besten das Feld, nach dem / vor dem man das neue Feld einfügen will, und ersetzt den String entsprechend.

    Z.B. so setzt man das neuen Feld nach dem Feld "Telefon" ein:

    PHP-Code:
        $GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace 
        

            
    ',phone,'
            
    ',phone,secret_phone,'
            
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default'
        ); 
    Dieses Ersetzen hat immer den Nachteil, dass man u.U. auch Strings ersetzt, die man nicht ersetzt haben will. Deshlab sollte der 1. Parameter von str_replace mit Bedacht gewählt sein.

    Beim 2. Parameter, dem jeweiligen neuen Zustand, muss dann auch auf die korrekten Kommas geachtet werden.

    Gruß, Cliff

  5. #5
    Contao-Nutzer Avatar von Schmidty
    Registriert seit
    06.06.2011.
    Ort
    Pforzheim
    Beiträge
    203

    Standard

    Danke, funktioniert - die Kommas waren es ;-)

  6. #6
    Contao-Nutzer
    Registriert seit
    18.03.2018.
    Beiträge
    133

    Standard

    Ich würde auch gern ein neues Feld im Registrierungsformular hinzufügen.
    Ich habe im Odner system/modules/dca die Datei tl_member.php um folgenden Eintrag erweitert
    Code:
    'IBAN' => array
    		(
    			'label'                   => &$GLOBALS['TL_LANG']['tl_member']['IBAN'],
    			'exclude'                 => true,
    			'search'                  => true,
    			'inputType'               => 'text',
    			'eval'                    => array('maxlength'=>22, 'rgxp'=>'IBAN', 'decodeEntities'=>true, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'contact', 'tl_class'=>'w50'),
    			'sql'                     => "varchar(64) NOT NULL default ''"
    		),
    Leider wird mir im Backend das Feld nicht zum auswählen angezeigt.

    Wo ist mein Fehler ?

  7. #7
    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

    https://docs.contao.org/books/manual...nzufuegen.html
    Mit "ihrem Modulordner" ist dein eigener Modulordner gemeint.
    Code:
    system/
      modules/
        z_myMods/
          dca/
            tl_member.php
    In Contao 4 kann man die tl_member auch direkt in einen bestimmten Ordner legen, ohne eine Erweiterung zu schreiben. Siehe hier:
    https://de.contaowiki.org/Ordner_und...ontao.2Fdca.2F
    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

  8. #8
    Contao-Nutzer
    Registriert seit
    18.03.2018.
    Beiträge
    133

    Standard

    Und es gibt keine Überschneidung mit der Anderen tl-member.php Datei ?

    Greift dann Contao also auf alle Inhalte der verschiedenen tl-member.php Dateien zu ?

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

    Standard

    Zitat Zitat von vfl63langerwehe Beitrag anzeigen
    Und es gibt keine Überschneidung mit der Anderen tl-member.php Datei ?
    Nur, wenn Du sie einbaust. Du könntest ja neben "Felder hinzufügen" auch "Felder umdefinieren"

    Zitat Zitat von vfl63langerwehe Beitrag anzeigen
    Greift dann Contao also auf alle Inhalte der verschiedenen tl-member.php Dateien zu ?
    Ja. Und damit ist klar, daß es auch auf die Ladereihenfolge ankommt. Dein Code dürfte nach der Core-Definition geladen werden,
    also kannst Du die Core-Einstellungen ergänzen/überschreiben.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  10. #10
    Contao-Nutzer
    Registriert seit
    18.03.2018.
    Beiträge
    133

    Standard

    Wenn ich Felder umdefiniere, nehme ich dann die Datei aus dem Ordner: system/core/dca/tl_member.php und ändere zum Beispiel: Company in IBAN um ?
    Code:
    'company' => array
    		(
    			'label'                   => &$GLOBALS['TL_LANG']['tl_member']['company'],
    			'exclude'                 => true,
    			'search'                  => true,
    			'sorting'                 => true,
    			'flag'                    => 1,
    			'inputType'               => 'text',
    			'eval'                    => array('maxlength'=>255, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'address', 'tl_class'=>'w50'),
    			'sql'                     => "varchar(255) NOT NULL default ''"
    		),

  11. #11
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Grundregel: Ändere NIE Dateien aus dem Core!

    Du kannst in einer eigenen Erweiterung den Eintrag (Array-Element) überschreiben.
    Wenn es nur Kleinigkeiten sind, kannst Du diese auch in die dcaconfig.php oder bei Textanpassungen in die langconfig.php eintragen.
    Diese Änderungen sind dann updatesicher im Gegensatz zu Änderungen in Core-Dateien.

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

    Standard

    Zitat Zitat von vfl63langerwehe Beitrag anzeigen
    Wenn ich Felder umdefiniere, ...
    Zitat Zitat von do_while Beitrag anzeigen
    Grundregel: Ändere NIE Dateien aus dem Core!
    Die Verwirrung habe wahrscheinlich ich in #9 verursacht. Mit umdefinieren meinte ich z.B.: ich möchte daß Telefonnummern, die in tl_member.phone gespeichert werden maximal 32 Zeichen lang sein dürfen. In der Standarddefinition dürfen sie max. 64 Zeichen lang sein. Dann würde ich in meiner Erweiterung oder der dcaconfig.php schreiben:

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['phone']['eval']['maxlength'] = 32
    Wenn ich ein ganz neue Spalte hinzufürgen will

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['meineneuespalte'] = [
      
    // Definition der Spalte in Anlenhnung der Definitionen in der tl_member.php aus dem core
    ]; 
    Damit das Feld auch angezeigt wird muss ich es noch zur Palette hinzufüfen

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default'] .= ',meineneuespalte'
    Hier einfach an das Ende angehängt. Um es an eine bestimmte Stelle zu setzen könntest Du den String in $GLOBALS['TL_DCA']['tl_member']['palettes']['default'] mit str_replace() manipulieren.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  13. #13
    Contao-Nutzer
    Registriert seit
    18.12.2010.
    Ort
    Mühltal
    Beiträge
    42

    Standard Funktioniert bei mir nicht

    Halo zusammen,

    ich habe wie Schmidty ganz oben geschrieben hat in app/Resources/contao/dca eine Datei tl_member.php und in ../languages/de/ die Datei tl_member.php angelegt. (Contao 4.4.24)
    Den Cache habe ich gelöscht und den Installer aufgerufen. Die Felder werden aber nicht in der DB angelegt und die Felder nicht im der Mitgliederverwaltung angezeigt.

    Was mache ich falsch?

    Inhalt der Dateien:
    app/Resources/contao/dca/tl_member.php
    Code:
    <?php
    
    // Anpassung der Palette
    $GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace
    (
        ',groups;',
        ',groups;{groups_ttm},xt_art,xt_brevet,xt_luftabo;',
        $GLOBALS['TL_DCA']['tl_member']['palettes']['default']
    );
     
    // Hinzufügen der Feld-Konfiguration
    $GLOBALS['TL_DCA']['tl_member']['fields']['xt_art'] = array
    (
        'label'     => &$GLOBALS['TL_LANG']['tl_member']['xt_art'],
        'exclude'   => true,
        'filter'    => true,
        'sorting'   => true,
        'inputType' => 'select',
        'eval'      => array('mandatory'=>true, 'maxlength'=>255, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', 'tl_class'=>'w50'),
        'sql'       => "int(10) NOT NULL default ''"
    );
    
    $GLOBALS['TL_DCA']['tl_member']['fields']['xt_brevet'] = array
    (
        'label'     => &$GLOBALS['TL_LANG']['tl_member']['xt_brevet'],
        'exclude'   => true,
        'filter'    => true,
        'sorting'   => true,
        'inputType' => 'select',
        'eval'      => array('mandatory'=>true, 'maxlength'=>255, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', 'tl_class'=>'w50'),
        'sql'       => "blob"
    );
    
    $GLOBALS['TL_DCA']['tl_member']['fields']['xt_luftabo'] = array
    (
        'label'     => &$GLOBALS['TL_LANG']['tl_member']['xt_luftabo'],
        'exclude'   => true,
        'filter'    => true,
        'sorting'   => true,
        'inputType' => 'text',
        'eval'      => array('mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>2, 'tl_class'=>'w50'),
        'sql'       => "int(10) NOT NULL default ''"
    );
    ?>
    app/Ressources/contao/languages/de/tl_member.php
    Code:
    <?php
    
    	$GLOBALS['TL_LANG']['tl_member']['xt_luftabo'] = array 
    	( 
    		'Freifüllungen', 
    		'Anzahl der bereits verbrauchten Freifüllungen.' 
    	); 
         
    	$GLOBALS['TL_LANG']['tl_member']['xt_art'] = array 
    	( 
    		'Mitgliedschaft', 
    		'Art der Mitgliedschaft im Tauchclub.' 	
    	);  
    
    	$GLOBALS['TL_LANG']['tl_member']['xt_brevet'] = array 
    	( 
    		'Brevet', 
    		'Welche Brevets hat das Mitglied.' 
    	);  
    
    	$GLOBALS['TL_LANG']['tl_member']['groups_ttm'] = 'Tauchclub';
    
    	$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['1'] = 'CMAS * / i.a.c. oder Padi OWD';
    	$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['2'] = 'i.a.c. / Padi AOWD';
    	$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['3'] = 'CMAS / i.a.c. Master Diver oder Padi Rescue Diver';
    	$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['4'] = 'CMAS *** / i.a.c. Dive Leader oder Padi Divemaster';
    	$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['5'] = 'CMAS TL / i.a.c. oder Padi TL';
    	$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['6'] = 'Nightdiver';
    	$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['7'] = 'Dry Diver';
    	$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['8'] = 'Dry Suit Diver mit Club Trocky Option';
    	$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['9'] = 'CMAS Junior Diver / i.a.c. Junior Diver';
    
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['1'] = 'Holiday';
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['2'] = 'Comfort';
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['3'] = 'Standard';
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['4'] = 'Premium';
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['5'] = 'Kinder & Jugend';
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['6'] = 'Holiday & Dry Suit';
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['7'] = 'Comfort & Dry Suit';
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['8'] = 'Standard & Dry Suit';
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['9'] = 'Premium & Dry Suit';	
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['10'] = 'Premium Plus';
    	$GLOBALS['TL_LANG']['tl_member']['xt_art']['11'] = 'CCR';
    ?>
    Geändert von diversworld (13.10.2018 um 16:50 Uhr)

  14. #14
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.548
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du hast den Ordnernamen falsch geschrieben: Resources anstelle von Ressources
    Geändert von xchs (13.10.2018 um 16:55 Uhr)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  15. #15
    Contao-Nutzer
    Registriert seit
    18.12.2010.
    Ort
    Mühltal
    Beiträge
    42

    Lächelndes Gesicht

    Stimmt. Aber auf dem Server ist er richtig geschrieben

  16. #16
    Contao-Nutzer
    Registriert seit
    18.12.2010.
    Ort
    Mühltal
    Beiträge
    42

    Lachendes Gesicht jetzt passt alles

    Wenn man es richtig macht funktioniert es gleich.

    Jetzt passt alles. Ich hatte Schrott geschrieben. Bin etwas eingerostet.

  17. #17
    Contao-Nutzer
    Registriert seit
    10.10.2015.
    Beiträge
    128

    Standard nach Vorgabe versucht Feld anzulegen, aber es klappt nicht

    Basis ist Contao 4.4

    unter

    httpdocs/system/modules/memberlistmore/dca habe ich die Datei tl_members.php
    httpdocs/system/modules/memberlistmore/languages/de habe ich die Datei tl_members.php

    angelegt. memberlistmore ist mein Ordner für diese Erweiterung.

    Nachdem ich mit meinen Inhalten der jeweiligen Dateien keinen Erfolg hatte, habe ich jetzt die Inhalte entsprechend der Vorgabe unter
    https://docs.contao.org/books/manual...nzufuegen.html
    eingefügt.

    Der Cache wurde geleert und das INsatlltool aufgerufen. Es tut sich absolut nichts :-(

    Was mache ich verkehrt?

  18. #18
    Contao-Fan Avatar von eS_IT
    Registriert seit
    21.07.2010.
    Ort
    Werne a. d. Lippe
    Beiträge
    585
    Partner-ID
    6161
    User beschenken
    Wunschliste

    Standard

    Hallo jha,

    die Tabelle heißt tl_member und nicht tl_members, also ohne s hinten.

    Gesendet von meinem LG-H930 mit Tapatalk
    Viele Grüße,
    eS_IT
    --
    e@sy Solutions IT - Ihr Partner für professionelle Softwareentwicklung
    Website - Contao Codebook - Partnerprofil - GitHub

  19. #19
    Contao-Nutzer
    Registriert seit
    10.10.2015.
    Beiträge
    128

    Standard

    Dank, eS_IT;

    ich habe die Datei-Namen geprüft und festgestellt, dass ich diese auch noch unterschiedlich benannt habe - schei... Nachtarbeit.

    Das Feld wird jetzt in tl_member angelegt, aber im Backend wird es mir nicht angezeigt. Irgendwas läuft trotz mehrfachen löschens des Cache falsch.

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

    Standard

    Zitat Zitat von jha Beitrag anzeigen
    aber im Backend wird es mir nicht angezeigt
    Du hast das Feld nicht nur definiert, sondern auch der Palete hinzugefügt? Siehe z.B. #12
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  21. #21
    Contao-Nutzer
    Registriert seit
    10.10.2015.
    Beiträge
    128

    Standard

    Hallo, Fledsch

    ich habe den Code aus dem Beispiel verwendet:

    Für die Anlage des Felds

    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 ''"
    );
    Für die Benennung:

    Code:
    $GLOBALS['TL_LANG']['tl_member']['customer_number'] = array
    (
        'Kundennummer',
        'Bitte geben Sie die 8-stellige Kundennummer ein.'
    );
    Ich habe extra den Beispielcode genutzt, nachdem ich vorher schon Probleme hatte. Damit wollte ich meinen Fehler eingrenzen.

    BG
    jha

  22. #22
    Contao-Nutzer
    Registriert seit
    10.10.2015.
    Beiträge
    128

    Standard Sorry - das Problem ist anders gelagert

    Tatsächlich wird mit das neue Feld Kundennummer in der Mitgliederverwaltung angezeigt. Ich habe aber die ganze Zeit im Modul "Registrierung" geschaut.

    Ich habe also in Wirklichkeit das Problem: wie bekomme ich das neue Feld "Kundenummer" in das Modul "Registrierung?

  23. #23
    Contao-Fan Avatar von mdoll
    Registriert seit
    25.06.2009.
    Ort
    Wietze
    Beiträge
    334

    Standard

    Wenn mich nicht alles täuscht, dann müsste in das eval Array noch
    Code:
    'feEditable'=>'true'
    also
    Code:
    'eval'      => array('feEditable'=>'true, 'mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>8),
    Danach sollte das Feld im Registrierungsmodul auswählbar sein.

    Hier findest Du alle Argumente, die Du verwenden kannst:
    https://docs.contao.org/books/api/dc...tml#evaluation

    Gruß
    Mathias
    “Ah," said Mr Pin. "Right. I remember. You are concerned citizens." He knew about concerned citizens. Wherever they were, they all spoke the same private language, where 'traditional values' meant 'hang someone'.”
    ― Terry Pratchett, The Truth

  24. #24
    Contao-Nutzer
    Registriert seit
    10.10.2015.
    Beiträge
    128

    Standard

    Danke für den Hinweis, Mathias,

    habe getestet und da wollte das Installtool nicht. Es braucht noch den Hinweis feGroup.

    Code:
    	'eval'      => array('feEditable'=>true, 'feGroup'=>login, 'mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>8),
    war zielführend!

    Da wäre ich aber ohne deine Info nicht drauf gekommen - merci vielmals!

    jha

  25. #25
    Contao-Fan Avatar von Hoch-3
    Registriert seit
    16.11.2010.
    Ort
    Zürich
    Beiträge
    373
    Partner-ID
    7136

    Standard Inhalte aus Language File in DB speichern

    Gibt es eine Möglichkeit, dass beim Registrieren eines neuen Mitglieds in der zweiten Sprache die Inhalte aus dem Language-File in die DB geschrieben werden?

    Konkret hab ich ein paar zusätzliche Felder. z.B. eines mit der Mitgliederart: Privatmitglied, Kollektivmitglied. Wenn nun einer sich in französisch anmeldet soll Membre privé bzw. Membre collective in die DB geschrieben werden.

    Wo würd ich sowas versuchen zu beeinflussen? Im member_default.php werden die fertig aufgebauten Fields eingeschlauft. Wo werden die hergestellt?

  26. #26
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.896
    Partner-ID
    10107

    Standard

    Warum willst du übersetzte Strings in die Datenbank speichern? Normalerweise speicherst du ja eine System-Bezeichnung und lässt diese dann bei der Ausgabe dementsprechend übersetzen.

  27. #27
    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, ganz falscher Ansatz. Schau dir z.B. das Feld tl_member.gender an. Dort wird male oder female gespeichert. Dann gibt es die Sprachvariablen dazu, welche die Ausgabe direkt automatisch in der Sprache ausgeben, welche deine Seite besitzt. Denk dir passende englische Begriffe aus, welche gespeichert werden sollen. Beispiel: private, collective. Diese übersetzt du dann in deinen Sprachdateien, so wie bei gender, und die Ausgabe erfolgt automatisch.
    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
  •