Ergebnis 1 bis 3 von 3

Thema: eigene Felder bei Tabelle

  1. #1
    Contao-Fan Avatar von Kopfnuss
    Registriert seit
    05.09.2012.
    Ort
    Zwickau
    Beiträge
    321
    Partner-ID
    11375
    Contao-Projekt unterstützen

    Support Contao

    Standard eigene Felder bei Tabelle

    Hey Ihr,

    ich versuche gerade nach dieser Anleitung zwei Felder zu dem Inhaltselement Tabelle hinzuzufügen.
    https://docs.contao.org/dev/getting-started/dca/

    Contao 4.9.12
    ContaoManager
    XAMPP

    Ich habe im root von Contao folgende Ordnerstruktur:
    -contao/
    --- config/
    --- dca/
    ----- tl_content.php
    --- languages/
    ----- de/
    ------- tl_content.php
    ----- en/
    ------- tl_content.php

    dca/tl_content
    Code:
    <?php
    /* HTML in Überschriften */
    $GLOBALS['TL_DCA']['tl_content']['fields']['headline']['eval']['allowHtml'] = true; 
    
    // contao/dca/tl_content.php
    use Contao\CoreBundle\DataContainer\PaletteManipulator;
     
    //Beschreibung des Feldes
    $GLOBALS['TL_DCA']['tl_content']['fields']['rowURLExtendedselect'] = [
    		'label' => &$GLOBALS['TL_LANG']['tl_content']['rowURLExtendedselect'],
    		'exclude' => true,
    		'inputType' => 'select',
    		'options' => array(
    			'1' => 'Link Agentur für Arbeit',
    			'2' => 'Link Jobcenter',
    			'3' => 'Link Jugendamt',
    		), 
    		'eval' => array('tl_class'=>'w50', 'includeBlankOption'=>true),
    		'sql' => "varchar(255) NOT NULL default ''"
    ];
    
    $GLOBALS['TL_DCA']['tl_content']['fields']['rowURLExtended'] = [
    		'label' => &$GLOBALS['TL_LANG']['tl_content']['rowURLExtended'],
    		'exclude' => true,
    		'search' => true,
    		'inputType' => 'text',
    		'eval' => array('rgxp'=>'url', 'decodeEntities'=>true, 'maxlength'=>255, 'fieldType'=>'radio', 'filesOnly'=>true),
    		'wizard' => array(
    			array('tl_content', 'pagePicker')
    		),
    		'sql' => "varchar(255) NOT NULL default ''"
    ];
    
    PaletteManipulator::create()
    	// add a new "custom_legend" before the "date_legend"
        ->addLegend('custom_legend_table', 'type_legend', PaletteManipulator::POSITION_AFTER)
    	
    	// directly add new fields
    	->addField('rowURLExtendedselect', 'custom_legend_table', PaletteManipulator::POSITION_APPEND)
    	->addField('rowURLExtended', 'custom_legend_table', PaletteManipulator::POSITION_APPEND)
    	
    	// then apply it to the palette as usual
        ->applyToPalette('default', 'tl_content')
    ;
    languages/de/tl_content
    Code:
    <?php 
     
    $GLOBALS['TL_LANG']['tl_content']['rowURLExtendedselect'][0] = 'Link zum jeweiligen Formular';
    $GLOBALS['TL_LANG']['tl_content']['rowURLExtendedselect'][1] = 'Hier den Link auswählen.';
    $GLOBALS['TL_LANG']['tl_content']['rowURLExtended'][0] = 'Link zur jeweiligen Seite angeben';
    $GLOBALS['TL_LANG']['tl_content']['rowURLExtended'][1] = 'Hier den Link eintragen.';
    $GLOBALS['TL_LANG']['tl_content']['custom_legend_table'] = 'Links der Zeile';
    Kann mir jemand weiterhelfen wieso ich die Felder nicht im Backend in dem Inhaltselement Tabelle angezeigt bekomme?
    Die Ordner var/cache/prod habe ich schon einmal gelöscht.
    Geändert von Kopfnuss (01.03.2021 um 13:58 Uhr)

  2. #2
    Contao-Nutzer Avatar von Black Pirate
    Registriert seit
    10.02.2015.
    Beiträge
    224

    Standard

    Versuchs mal mit dieser Struktur:

    -app
    --Resources
    ---contao
    ----dca
    -----tl_content.php
    ----languages
    -----de
    ------tl_content.php


    Cache löschen, install-Tool, Datenbank aktualisieren

  3. #3
    Contao-Fan Avatar von Kopfnuss
    Registriert seit
    05.09.2012.
    Ort
    Zwickau
    Beiträge
    321
    Partner-ID
    11375
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hey,

    habe den Fehler gefunde. Ich habe die Felder zur Palette "default" hinzugefügt.
    Soll aber bei Tabelle eingefügt werden, so geht es jetzt:

    Code:
    <?php
    /* HTML in Überschriften */
    $GLOBALS['TL_DCA']['tl_content']['fields']['headline']['eval']['allowHtml'] = true; 
    
    // contao/dca/tl_content.php
    use Contao\CoreBundle\DataContainer\PaletteManipulator;
     
    //Fields
    $GLOBALS['TL_DCA']['tl_content']['fields']['rowURLExtendedselect'] = [
    		'label' => &$GLOBALS['TL_LANG']['tl_content']['rowURLExtendedselect'],
    		'inputType' => 'select',
    		'options' => array(
    			'1' => 'Link Agentur für Arbeit',
    			'2' => 'Link Jobcenter',
    			'3' => 'Link Jugendamt',
    		), 
    		'eval' => array('includeBlankOption'=>true),
    		'sql' => "varchar(255) NOT NULL default ''"
    ];
    
    $GLOBALS['TL_DCA']['tl_content']['fields']['rowURLExtended'] = [
    		'label' => &$GLOBALS['TL_LANG']['tl_content']['rowURLExtended'],
    		'search' => true,
    		'inputType' => 'text',
    		'eval' => array('rgxp'=>'url', 'decodeEntities'=>true, 'maxlength'=>255, 'fieldType'=>'radio', 'filesOnly'=>true),
    		'wizard' => array(
    			array('tl_content', 'pagePicker')
    		),
    		'sql' => "varchar(255) NOT NULL default ''"
    ];
    
    PaletteManipulator::create()
    	// add a new "custom_legend" before the "type_legend"
        ->addLegend('custom_legend_table', 'type_legend', PaletteManipulator::POSITION_AFTER)
    	
    	// directly add new fields
    	->addField('rowURLExtendedselect', 'custom_legend_table', PaletteManipulator::POSITION_APPEND)
    	->addField('rowURLExtended', 'custom_legend_table', PaletteManipulator::POSITION_APPEND)
    	
    	// then apply it to the palette as usual
        ->applyToPalette('table', 'tl_content')
    ;
    Danke Black Pirate, das ist meines Wissens nach die alte Struktur.

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
  •