Ergebnis 1 bis 4 von 4

Thema: selbes Formular in div. Sprachen - wie alle Daten in eine Formular-Tabelle?

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

    Standard selbes Formular in div. Sprachen - wie alle Daten in eine Formular-Tabelle?

    Hi,

    ich habe ein Formular welches ich für jede Sprache neu angelegt habe - Felder und deren Name sind gleich nur die Feldbezeichnungen und Erklärungen sind sprachspezifisch.

    Jedes Formular hat ein verstecktes Feld mit einem Sprachkürzel.

    Ich würde gern alle Daten im BE in einer Formulartabelle sammeln und dabei auch die EFG-Funktionen wie Filterung, Export usw. nutzen.

    Die Idee, die Feldbezeichnungen mit Insert-Tags zu bestücken {{iflng::de}}Strasse{*{iflng}}{*{iflng::en}}Street {*{iflng}... geht ggf. noch bei zwei Sprachen - bei 3 oder mehr wird es nicht nur extrem unübersichtlich, die Feldgröße könnte an ihre Grenzen kommen...

    Gibt es Alternativen?

    Dank und Gruss

  2. #2
    Contao-Fan Avatar von tom
    Registriert seit
    16.06.2009.
    Ort
    Ludwigsburg
    Beiträge
    385

    Standard

    Hallo zonky,

    zwei Alternativen würden mir einfallen:
    a) unter "Feedback" hast Du die Daten aus allen Formularen, auch mit Filter und Export;
    (allerdings hast Du keine Möglichkeit, z.B. "Kontaktformular deutsch" und "Kontaktformular englisch" als einen gemeinsamen "Formulardaten"-Navigationspunkt/Modul "Kontaktformular" anzuzeigen)

    b) es gibt nur ein Formular;
    die Bezeichnungen der Felder werden lediglich im Frontend per Hook 'loadFormField' übersetzt, innerhalb von Mail-Texten z.B. mit {if ...} {else ...} ... {endif}

    Schöne Grüße
    Tom

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

    Standard

    Hallo Tom

    zu 1.) ich könnte noch ein verstecktes Feld "form_name" mit "guest_card" in allen Gästekarten-Formularen (DE/EN/...) ablegen und könnte damit in Feedback damit Filtern - dann fliegen die Infos der Kontaktformulare raus...

    ... was mir noch aufgefallen ist: ich habe zur Zeit zwei Formulare "Gästekartei" in DE und EN - alle Feldnamen sind identisch aber die Feldbezeichnungen in der jeweiligen Sprache...

    In der Feedback-Ansicht Übersicht werden mir die Bezeichnungen in Englisch angezeigt obwohl vom deutschen Formular kommend - siehe Screenshot
    Angehängte Grafiken Angehängte Grafiken

  4. #4
    Contao-Nutzer
    Registriert seit
    14.03.2012.
    Ort
    Berlin
    Beiträge
    225

    Standard

    Hi,

    da ich grad vor dem gleichen Problem stand und keine weiteren Formulare anlegen wollte, hier mein Lösungsweg:

    Im Formulargenerator werden die Bezeichner wie Variablen vergeben. Also klein geschrieben, keine Leerzeichen etc.
    Jedes Formularfeld bekommt eine CSS-Klasse zum idendifizieren. Also z.B. "contactforminput".

    Nun editiert man das Template form_widget & prüft, ob es sich um ein "contactforminput" Formularfeld handelt.
    PHP-Code:
    <?php 
    $contactFormInput 
    = (strrpos($this->class"contactforminput") === false) ? false true

    if (
    $contactFormInput): ?>
       <div class="ci_wrapper">
        <?php
           $this
    ->strLabel $GLOBALS['TL_LANG']['MSC']['contactform'][str_replace(' ','_',strtolower($this->strLabel))]; //hier sorge ich nochmal für die richtige Schreibweise, falls doch Leerzeichen oder Großschreibung als Bezeichner verwendet wurden.
        
    ?>
        <?php echo $this->generateLabel(); ?>
        <?php echo $this->generateWithError(); ?>
       </div>
    <?php else: ?>

       <?php echo $this->generateLabel(); ?>
       <?php echo $this->generateWithError(); ?>

    <?php endif; ?>

    Nun müssen nur noch die Übersetzungsdateien angepasst werden & die Bezeichnung des Formularfeldes wird entsprechend ausgegeben.

    Für den Submit-Button müsste dann noch das Template form_submit angepasst werden.

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
  •