Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: prepareFormdata-Hook an eigenes Template hängen

  1. #1
    Contao-Nutzer
    Registriert seit
    02.12.2017.
    Beiträge
    139

    Standard prepareFormdata-Hook an eigenes Template hängen

    Hallo zusammen!

    Ich habe in einer Erweiterung ein eigenes Content Element erstellt.
    In dessen Template generiere ich ein eigenes Formular, welches an das Contao-Formular angelehnt ist:

    PHP-Code:

    <?php

    $this
    ->extend('block_searchable'); ?>

    <?php $this->block('content'); ?>

    <div class="inside">
        <form action="https://meineurl.de/uebersicht" method="post">
          <div class="formbody">
            <input type="hidden" name="FORM_SUBMIT">
            <input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}">
            <div class="widget widget-text mandatory">
              <input type="text" name="username" class="text mandatory" value required placeholder="Username">
            </div>
            <div class="widget widget-textarea mandatory">
              <textarea id="mcetextarea" name="message" class="textarea mandatory" placeholder="Nachricht"></textarea>
            </div>
             <div class="widget widget-submit">
               <button type="submit" class="submit">Absenden</button>
             </div>
           </div>
        </form>
    </div>

    // ...Zusätzliche Tinymce Scripte...

    <?php $this->endblock(); ?>
    Über Service Tagging habe ich zusätzlich einen prepareFormData-Hook integriert. Dieser funktioniert auch bei Formularen, die ich über den Contao Formular-Generator erstellt habe.
    Nur eben leider nicht mit meinem im Template erstellten Formular.

    Welche Möglichkeiten habe ich hier, um den Hook auch bei meinem eigenen Formular auslösen zu lassen?

  2. #2
    Contao-Nutzer
    Registriert seit
    02.12.2017.
    Beiträge
    139

    Standard

    Lässt sich der Hook nur durch die über den Formulargenerator erstellten Formulare auslösen oder gibt es hier vielleicht doch noch eine andere Möglichkeit?

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

    Standard

    Der Hook wird von \Contao\Form ausgelöst.

    Was genau möchtest du denn überhaupt ereichen?

  4. #4
    Contao-Nutzer
    Registriert seit
    02.12.2017.
    Beiträge
    139

    Standard

    Ich baue eine Art minimalistisches Forum, welches auch von Gästen, ohne Anmeldung, benutzt werden kann.
    Das erstellen von neuen Threads/Beiträgen löse ich über ein Formular. Das speichern der Datensätze löse ich über (mittlerweile) den ProcessFormData-Hook.

    Ich möchte die Erweiterung allerdings möglichst automatisch realisieren und möchte ungern manuell noch Formulare erstellen (oder diese überhaupt im Formulargenerator sichtbar haben).
    Aus diesem Grund hatte ich, wie im Code-Ausschnitt, das Formular manuell im Template abgebildet. Allerdings feuert hierbei der Hook ja leider nicht.

    Hast du da vielleicht einen Tipp, wie ich da am sinnvollsten vorgehen kann?

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

    Standard

    In diesem Fall würde ich vielleicht eher Form von Contao Haste benutzen: https://github.com/codefog/contao-ha...s/Form/Form.md

  6. #6
    Contao-Nutzer
    Registriert seit
    02.12.2017.
    Beiträge
    139

    Standard

    Danke, dass schaue ich mir genauer an!

    Was würdest du empfehlen, falls man das ganze ohne externe Abhängigkeiten realisieren möchte?

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

    Standard

    Das kann ich nicht empfehlen, weil ich sowas niemals "zu Fuß" machen würde . Du könntest natürlich die bestehenden Formularfeld Widgets selbst instanzieren, selbst ausgeben und dann in deinem Controller selbst validieren. Also alles das, was normalerweise die Form Klasse von Contao macht. Aber dieser Aufwand erscheint mir zu hoch, wenn es bereits Lösungen wie Contao Haste Form oder Symfony Form gibt.

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
  •