Contao-Camp 2024
Ergebnis 1 bis 2 von 2

Thema: Gender-Value statt Label im versteckten Formularfeld

  1. #1
    Contao-Nutzer
    Registriert seit
    07.07.2016.
    Beiträge
    65

    Standard Gender-Value statt Label im versteckten Formularfeld

    Hallo

    Ich stehe gerade vor einem selten dämlichen Problem. Mittels user::gender soll das Geschlecht eines angemeldeten Mitglieds in einem versteckten Formularfeld als Standardwert angezeigt werden. Das ist auch kein Problem, nur wird statt 'male' leider 'Männlich' oder 'female' statt 'Weiblich' als Wert angezeigt. Das ist soweit nicht neu und ich habe jetzt keinen Lösungsansatz gefunden, das anzupassen.

    Um das zu ändern habe im Template 'form_hidden' mal folgendes gemacht:

    PHP-Code:
    <?php
    if($this->name == "gender"):
        if(
    $this->value == $GLOBALS['TL_LANG']['MSC']['male']):
            
    $this->value "male";
        else:
            
    $this->value "female";
        endif;
    endif;
    ?>
    <input type="hidden" name="<?= $this->name ?>" value="<?= StringUtil::specialchars($this->value?>">
    Das interessante dabei ist: $this->value ist ja ursprünglich "Männlich" und die Globalvariable ist ebenfalls "Männlich". Beides wird wirklich identisch angezeigt (mit echo geprüft). Dennoch sieht PHP das nicht als identisch an und führt nicht den if-Teil sondern den else-Teil aus. Habe schon alles möglich ausprobiert. Ich komme nicht dahinter, an was es liegt. Vielleicht weiss jemand von euch Bescheid, was es mit dem Verhalten zu tun hat und was der Überlegungsfehler ist.
    Geändert von DanEi (06.02.2019 um 07:58 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    07.07.2016.
    Beiträge
    65

    Standard

    Hab es nun wie folgt gemacht:

    PHP-Code:
    <?php
    if($this->name == "gender"):
        
    $gender $this->replaceInsertTags('{{user::gender}}');
        if(
    $gender == $GLOBALS['TL_LANG']['MSC']['male']):
            
    $this->value "male";
        else:
            
    $this->value "female";
        endif;
    endif;
    ?>
    <input type="hidden" name="<?= $this->name ?>" value="<?= StringUtil::specialchars($this->value?>">
    Das klappt. Aber wieso ersteres nicht funktioniert, würde mich schon noch interessieren

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
  •