Contao-Camp 2024
Ergebnis 1 bis 1 von 1

Thema: 4.4.x Registrierungsmodul Radio Value wird falsch ausgegeben

  1. #1
    Contao-Nutzer
    Registriert seit
    17.01.2020.
    Beiträge
    111

    Standard 4.4.x Registrierungsmodul Radio Value wird falsch ausgegeben

    Hallo liebe Community,

    ich bin gerade beim Testen meines Registrierungsmoduls an einem Punkt angekommen, wo ich nicht mehr weiter weiß. Ich habe das standardmäßige Registrierungsmodul mit 4 Radio Buttons erweitert. Das habe ich in der dca > tl_member.php vorgenommen:

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['usergroup'] = array
        (
            
    'label'     => &$GLOBALS['TL_LANG']['tl_member']['usergroup'],
            
    'exclude'   => true,
            
    'inputType' => 'radio',
            
    'options'   => array(
                
    'Employee without any supervisory tasks',
                
    'Supervisor',
                
    'Manager',
                
    'Owner or co-owner'
            
    ),
            
    'eval'      => array(
                
    'mandatory' => true,
                
    'feGroup'   => 'personal',
                
    'feEditable'=> true,
                
    'feViewable'=> false
            
    ),
            
    'sql'       => "varchar(100) NOT NULL default ''"
        
    ); 
    Im Formular wird es mir dann so ausgegeben:

    HTML-Code:
    <fieldset>
    		<legend>
    			Personendaten		</legend>
    		
    					<div class="row form-group">
    				<label class="col-12 col-sm-4" for="ctrl_firstname">
    					<span class="invisible">
    						Pflichtfeld					</span>
    
    					Vorname:
    				</label>
    				
    				<div class="col-12 col-sm-8 widget widget-text">
    					<input class="form-control form-control-sm" placeholder="Bitte geben Sie Ihren Vornamen ein..." id="ctrl_firstname" name="firstname" type="text" value="" required="" maxlength="255">
            
            
        
                        				</div>
    
    							</div>
    				
    					<div class="row form-group">
    				<label class="col-12 col-sm-4" for="ctrl_lastname">
    					<span class="invisible">
    						Pflichtfeld					</span>
    
    					Nachname:
    				</label>
    
    				<div class="col-12 col-sm-8 widget widget-text">
    					<input class="form-control form-control-sm" placeholder="Bitte geben Sie Ihren Nachnamen ein..." id="ctrl_lastname" name="lastname" type="text" value="" required="" maxlength="255">
            
            
        
                        				</div>
    
    							</div>
    		
    					<div class="row form-group">
    				<label class="col-12" for="ctrl_usergroup">
    					<span class="invisible">
    						Pflichtfeld					</span>
    
    					Was ist Ihre Rolle im Unternehmen?:
    				</label>
    
    				<div class="col-12 widget widget-radio">
    					<div class="form-check">
    						<input class="form-check-input" id="opt_usergroup_0" type="radio" name="usergroup" value="Employee without any supervisory tasks" required="">
    						<label class="form-check-label" id="lbl_usergroup_0" for="opt_usergroup_0">Mitarbeiterin oder Mitarbeiter ohne Weisungsbefugnis</label>					</div>
    
    					<div class="form-check">
    						<input class="form-check-input" id="opt_usergroup_1" type="radio" name="usergroup" value="Supervisor" required="">
    						<label class="form-check-label" id="lbl_usergroup_1" for="opt_usergroup_1">Führungskraft</label>					</div>
    
    					<div class="form-check">
    						<input class="form-check-input" id="opt_usergroup_2" type="radio" name="usergroup" value="Manager" required="">
    						<label class="form-check-label" id="lbl_usergroup_2" for="opt_usergroup_2">Geschäftsführerin / Geschäftsführer</label>					</div>
    
    					<div class="form-check">
    						<input class="form-check-input" id="opt_usergroup_3" type="radio" name="usergroup" value="Owner or co-owner" required="">
    						<label class="form-check-label" id="lbl_usergroup_3" for="opt_usergroup_3">Eigentümerinnen und Eigentümer sowie Miteigentümerinnen und Miteigentümer</label>					</div>
    				</div>
    
    							</div>
    				
    	</fieldset>
    Zu Testzwecken habe ich jetzt zwei Varianten durchgespielt. Die erste Variante war, dass ich den 3. Punkt (Geschäftsführerin / Geschäftsführer) angeklickt und mir im CreateNewUser-Hook folgendes ausgeben habe:

    PHP-Code:
    echo "<pre>";
    var_dump($objMember->usergroup); //ist die field value
    var_dump('Manager' == $objMember->usergroup); //field value nochmal einzeln geschrieben und direkt mit field value verglichen, ergab bool(true)
    echo "</pre>";
    exit; 
    In der zweiten Variante habe ich nun den letzten Radio Button angeklickt (Eigentümerinnen und Eigentümer sowie Miteigentümerinnen und Miteigentümer) und ich bekam folgendes Ergebnis:

    PHP-Code:
    echo "<pre>";
    var_dump($objMember->usergroup); //ist die field value
    var_dump('Owner or co-owner' == $objMember->usergroup); //field value nochmal einzeln geschrieben und direkt mit field value verglichen, ergab bool(false)
    echo "</pre>";
    exit; 
    Warum wird denn hier jetzt bool(false) ausgegeben, obwohl die Werte eigentlich die gleichen sein müssten? Ich habe es auch mit den ersten und zweiten Radio Button ausprobiert, dort erfolgt immer bool(true). Sofern ich die Reihenfolge der Buttons untereinander tausche, also z.B. Manager mit Owner vertausche, dann wird immer true ausgegeben. Wie ist das denn zu erklären?


    Edit: Kann gelöscht werden, ich habe beim Kopieren des Codes hier ins Forum feststellen müssen, dass bei der letzten Value stets ein ? mitkopiert wurde, obwohl dieses weder im Quellcode noch in meinem Editor angezeigt wurde, wie auch immer so etwas passieren kann...
    Geändert von asfga (09.04.2021 um 18:03 Uhr)

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
  •