Contao-Camp 2024
Ergebnis 1 bis 5 von 5

Thema: eigener Formular Feldtyp

  1. #1
    Contao-Nutzer
    Registriert seit
    21.06.2022.
    Beiträge
    24

    Standard eigener Formular Feldtyp

    Ist es möglich unter Formulare einen eigenen Feldtyp zu erstellen? Hab angenommen das das ähnlich funktioniert wie bei einem Content Element aber finde dazu nichts weiter.

  2. #2
    Contao-Nutzer Avatar von agonyz
    Registriert seit
    10.09.2020.
    Beiträge
    36

    Standard

    Zitat Zitat von Hans-123 Beitrag anzeigen
    Ist es möglich unter Formulare einen eigenen Feldtyp zu erstellen? Hab angenommen das das ähnlich funktioniert wie bei einem Content Element aber finde dazu nichts weiter.
    Habe es jetzt noch nicht ausprobiert, aber müsste eigentlich so funktionieren.

    Musst die $GLOBALS['TL_FFL'] mit deinem Feld erweitern z.B so:
    PHP-Code:
    array:15 [?
      
    "explanation" => "Contao\FormExplanation"
      "html" 
    => "Contao\FormHtml"
      "fieldsetStart" 
    => "Contao\FormFieldsetStart"
      "fieldsetStop" 
    => "Contao\FormFieldsetStop"
      "text" 
    => "Contao\FormTextField"
      "password" 
    => "Contao\FormPassword"
      "textarea" 
    => "Contao\FormTextArea"
      "select" 
    => "Contao\FormSelectMenu"
      "radio" 
    => "Contao\FormRadioButton"
      "checkbox" 
    => "Contao\FormCheckBox"
      "upload" 
    => "Contao\FormFileUpload"
      "range" 
    => "Contao\FormRange"
      "hidden" 
    => "Contao\FormHidden"
      "captcha" 
    => "Contao\FormCaptcha"
      "submit" 
    => "Contao\FormSubmit",
      
    "yourField" => "Vendor\FormField"

    Und dann müsste das Feld noch konfiguriert werden.
    Dafür kannst du dir ein Beispiel bei bestehenden Feldern nehmen:
    Pfad:
    Code:
    /contao/vendor/contao/core-bundle/src/Resources/contao/forms/FormExplanation.php
    PHP-Code:
    <?php

    /*
     * This file is part of Contao.
     *
     * (c) Leo Feyer
     *
     * @license LGPL-3.0-or-later
     */

    namespace Contao;

    /**
     * Class FormExplanation
     *
     * @property string $text
     */
    class FormExplanation extends Widget
    {
        
    /**
         * Template
         *
         * @var string
         */
        
    protected $strTemplate 'form_explanation';

        
    /**
         * The CSS class prefix
         *
         * @var string
         */
        
    protected $strPrefix 'widget widget-explanation';

        
    /**
         * Do not validate
         */
        
    public function validate()
        {
        }

        
    /**
         * Generate the widget and return it as string
         *
         * @return string The widget markup
         */
        
    public function generate()
        {
            
    // Add the static files URL to images
            
    if ($staticUrl System::getContainer()->get('contao.assets.files_context')->getStaticUrl())
            {
                
    $path System::getContainer()->getParameter('contao.upload_path') . '/';
                
    $this->text str_replace(' src="' $path' src="' $staticUrl $path$this->text);
            }

            return 
    StringUtil::encodeEmail($this->text);
        }
    }

    class_alias(FormExplanation::class, 'FormExplanation');

  3. #3

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.898
    Partner-ID
    10107
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    21.06.2022.
    Beiträge
    24

    Standard

    Danke euch hat sich dann erledigt :)

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
  •