Contao-Camp 2024
Ergebnis 1 bis 3 von 3

Thema: Vorbelegen der Andere im Formbuilder mit user::gender / Übersetzung deaktivieren

  1. #1
    Contao-Nutzer
    Registriert seit
    17.10.2014.
    Beiträge
    72

    Frage Vorbelegen der Andere im Formbuilder mit user::gender / Übersetzung deaktivieren

    Ich möchte im Formbuilder (Contao 4.9) die Anrede mit der Anrede des angemeldeten Mitglieds vorbelegen.

    Im Formbuilder haben wir ein Dropdown mit male->Herr, female->Frau usw.

    Nun nutzen wir https://github.com/e-spin/form-scr-default-bundle zur Vorbelegung von Selects.
    Das würde bestimmt auch funktionieren, allerdings ist schon dann, wenn man testweise im Formbuilder die Anrede als Textfeld realisiert, bei Nutzung des Insert Tags

    Code:
    {{user::gender}}
    dort ein "Weiblich" statt "female" vorausgefüllt.

    Gibt es die Möglichkeit bei Nutzung von {{user::gender}} die Übersetzung auszuschalten?

    Grüße,

    Alex

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.682
    User beschenken
    Wunschliste

    Standard

    guck mal in die InsertTags.php Zeile ~ 294

    teste mal was in $value kommt
    PHP-Code:
    $this->import(FrontendUser::class, 'User');
    $value $this->User->gender
    Ich nehme an, schon der übersetzte Wert, d.h. damit wirds nix - bau Dir einen eigenen Inserttag ... ggf. dirty per {{file::get_gender.html5}}

  3. #3
    Contao-Nutzer
    Registriert seit
    17.10.2014.
    Beiträge
    72

    Daumen hoch gelöst

    Danke für den Tipp.

    Also..

    Problem ist Zeile 344-347 in vendor/contao/core-bundle/src/Resources/contao/library/Contao/InsertTags.php

    Da wird das female z.B. zu weiblich aufgelöst

    elseif (\is_array($rfrc))
    {
    $arrCache[$strTag] = isset($rfrc[$value]) ? ((\is_array($rfrc[$value])) ? $rfrc[$value][0] : $rfrc[$value]) : $value;
    }


    Also so wie du beschrieben hast,

    1. templates/inserttag_get_user_gender.html5 angelegt

    Code:
    <?php
    
    $this->import(FrontendUser::class, 'User');
    $value = $this->User->gender;
    
    echo $value;
    2. {{file::inserttag_get_user_gender.html5}}

    verwendet

    Eher ein Hack, stimmt, aber geht

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
  •