Ergebnis 1 bis 4 von 4

Thema: Problem beim erstellen eines Formularfeld

  1. #1
    Contao-Nutzer
    Registriert seit
    25.01.2018.
    Beiträge
    13

    Beitrag Problem beim erstellen eines Formularfeld

    Gute Tag zusammen,

    ich versuche seit einiger Zeit ein eigenes Formularfeld zu erstellen. Mein Plan ist, dass ich um mehrere Formularfelder einen Wrapper (div) haben möchte. Hier ist der Code für das Start-Element. Das Feld kann man im Backend auswählen, Text in das Label-Feld eintragen und abspeichern. Nun wird im Backend das Label in der Übersicht des Formulars nicht angezeigt und im Frontend das Template nicht ausgegeben. Habe ich vielleicht irgendwas vergessen oder falsch eingetragen?

    contao/config/config.php
    PHP-Code:
    $GLOBALS['TL_FFL']['pageStart'] = 'Contao\FormPageStart'
    contao/dca/tl_form_field.php
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_form_field']['palettes']['pageStart'] = '{type_legend},type;{fconfig_legend},label;{expert_legend:hide},class;{template_legend:hide},customTpl;{invisible_legend:hide},invisible'
    contao/forms/FormPageStart.php
    PHP-Code:
    <?php

    namespace Contao;

    class 
    FormPageStart extends Widget
    {
        
    /**
         * Template
         *
         * @var string
         */
        
    protected $strTemplate 'form_pageStart';

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

        
    /**
         * Parse the template file and return it as string
         *
         * @param array $arrAttributes An optional attributes array
         *
         * @return string The template markup
         */
        
    public function parse($arrAttributes=null)
        {
            
    $request System::getContainer()->get('request_stack')->getCurrentRequest();

            if (
    $request && System::getContainer()->get('contao.routing.scope_matcher')->isBackendRequest($request))
            {
                
    $objTemplate = new BackendTemplate('be_wildcard');
                
    $objTemplate->title $this->label;

                return 
    $objTemplate->parse();
            }

            return 
    parent::parse($arrAttributes);
        }

        
    /**
         * Generate the widget and return it as string
         *
         * @return string The widget markup
         */
        
    public function generate()
        {
            return 
    sprintf(
                
    '<p>%s',
                (
    $this->label '<legend>' $this->label '</legend>' '')
            );
        }
    }

    class_alias(FormPageStart::class, 'FormPageStart');
    contao/template/forms/form_pageStart.html5
    PHP-Code:
    <fieldset<?php if ($this->class): ?> class="<?= $this->class ?>"<?php endif; ?>>

      <?php if ($this->label): ?>
        <legend><?= $this->label ?></legend>
      <?php endif; ?>
    </fieldset>

    Gibt es über dem Thema vielleich ne Anleitung oder irgendwelche Informationen über die erstellung eines eigenen Formularsfeld?

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

    Standard

    Zitat Zitat von DennisP Beitrag anzeigen
    Gibt es über dem Thema vielleich ne Anleitung oder irgendwelche Informationen über die erstellung eines eigenen Formularsfeld?
    https://docs.contao.org/dev/framewor...nt-end-widgets

  3. #3
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.451
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich kenne deine Intention nicht, deshalb will ich dir den Spaß am Entwickeln nciht nehmen.

    Also, wenn du nur eine Lösung zum "Wrappen" suchst, dann nimm "Fieldset Anfang" und "Fieldset Ende". Im Zweifel kanst du denen ein Template mit DIV zuweisen.

    Wenn du entwickeln willst, kannst du dir die beiden gut als Vorlage nehmen.

  4. #4
    Contao-Nutzer
    Registriert seit
    25.01.2018.
    Beiträge
    13

    Standard

    Vielen dank. Hiermit hat es geklappt.

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
  •