Ergebnis 1 bis 13 von 13

Thema: Telefonnummer mit Ländervorwahl

  1. #1
    Contao-Nutzer
    Registriert seit
    13.12.2017.
    Beiträge
    15

    Standard Telefonnummer mit Ländervorwahl

    Hallo Leute,

    bei der Registrierung kann der User die Telefonnummer angeben.

    Wie würdet Ihr hier eine Ländervorwahl machen, sprich +43, +49 etc.?

    Bzw wo wie umsetzten?

    Danke für eure Unterstützung

    LG

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

    Standard

    Könntest Du noch erklären, was Du genau erreichen willst, oder was nichts so funktioniert, wie Du es Dir vorstellst?

    Simpelste Lösung wäre wahrscheinlich ein Text à la "Bitte geben Sie Ihre Telefonnummer inkl. Ländervorwahl ein (+49 für Deutschland, +43 für Österreich, +41 für die Schweiz, ...)". Ich nehme aber an, das ist nicht das, was Du haben willst.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Nutzer
    Registriert seit
    13.12.2017.
    Beiträge
    15

    Standard

    Da gibts ja den Modultyp "Registrierung".

    Und ich hab nicht wirklich einen Plan wie ich dort einerseits ein Feld hinein bringe bzw das Layout dafür ändere, so das zb diese Auswahlbox mit den Ländern, vor der Telefonnummer steht.

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

    Standard

    Das Land solltest Du dort genauso rein bekommen wie die Telefonnumer: duch auswählen unter "Editierbare Felder".

    (Für das Finetuning falls "umstylen mit CSS nicht reicht: Du kannst ein eigenes Template verwenden (Auswahl unter "Template-Einstellungen" -> "Formulartemplate"). Damit solltest Du die Felder exakt so anordnen können, wie Du es haben willst.)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

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

    Standard

    Ein kombiniertes Feld mit Vorwahl + Telefonnummer gibt es von Haus aus nicht. Wenn du so etwas brauchst, musst du dir eine Extension schreiben, die so ein Feld zur Verfügung stellt.

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

    Standard

    Nach meinem Verständnis geht es auch eher darum das (existierende) Feld Land vor das (existierende) Feld Telefonnummer zu bekommen, damit der User das Land auswählen kann und dann die Telefonnummer ohne Ländervorwahl eingibt. @genetar: richtig?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  7. #7
    Contao-Nutzer
    Registriert seit
    13.12.2017.
    Beiträge
    15

    Standard

    ja genau

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

    Standard

    Was meinst Du zum Vorschlag in #4?
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  9. #9
    Contao-Nutzer
    Registriert seit
    13.12.2017.
    Beiträge
    15

    Standard

    Klingt schon mal gut :-)

    Was ich mir auch gerade überlegt habe, wäre auch eine Prüfung des Feldes "Telefonnummer" ob der User die Telefonnumer richtig eingegeben hat. sprich mit +4312345678.

    Wo könnte ich denn sowas umsetzen bzw prüfen??

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

    Standard

    Evtl. mit dem validateFormField-Hook. Siehe https://docs.contao.org/books/api/ex...FormField.html

    Edit: andere Idee. Die DCA Defilition von tl_member.phone in etwas ändern, das Contao nicht von Haus aus bearbeitet und dann den addCustomRegexp-Hook (https://docs.contao.org/books/api/ex...tomRegexp.html) verwenden. Das sollte den Vorteil haben, dß das dann auch im BE greift.
    Geändert von fiedsch (16.02.2018 um 19:39 Uhr)
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  11. #11
    Contao-Nutzer
    Registriert seit
    13.12.2017.
    Beiträge
    15

    Standard

    Ok, VILEN DANK, werd das mal probieren.

  12. #12
    Contao-Nutzer
    Registriert seit
    13.12.2017.
    Beiträge
    15

    Standard

    Was ich nicht ganz checke, wenn ich jetzt zb im DCA bei Phone das ändere von 'rgxp'=>'phone' auf 'rgxp'=>'checkPhone' zum Beispiel, wo deffiniere ich dann wo das checkPhone ist??

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

    Standard

    Wenn Du das so machst, ist 'checkPhone' ein aus Contaos Sicht unbekannter 'rgxp' und der addCustomRegexp-Hook wird getriggert. Zunächsteinmal passiert dann gar nichts. Wenn Du Contao aber in deiner Modulkonfiguration sagst, was es tun soll:

    PHP-Code:
    $GLOBALS['TL_HOOKS']['addCustomRegexp'][] = array(MyClass', 'myHookHandler'); 
    dann wird die Methode myHookHandler aus der Klasse MyClass aufgerufen. Diese kümmert sich dann um die Validierung und ggf. Fehlermeldung.

    Bsp.:

    PHP-Code:
    class MyClass
    {

     
    // ...

      
    public function myHookHandler($strRegexp$varValue, \Widget $objWidget)
      {
         if (!
    preg_match('/^\+[1-9]{1}[-\s\d]+$/'$varValue)) {
             
    $objWidget->addError('Bitte geben Sie eine Telefonnummer ein: ...');
             return 
    false;
        }
        return 
    true;
      }

      
    // ...


    Den regulären Ausdruck musst Du wahrscheinlich noch an Deinen Bedarf anpassen (momentan "fängt mit einem Plus gefolgt von einer Ziffer (1-9) an und beinhaltet dann nur "-", Leerzeichen oder Ziffern"), die Fehlermeldung natürlich auch.

    Die Klasse MyClass must Du in Contao 3 noch in der config/autoload.php Deines Moduls aufführen, damit sie gefunden wird.

    Ich hoffe, ich habe nichts vergessen und: "natürlich ungetestet"™
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

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
  •