Ergebnis 1 bis 5 von 5

Thema: Events: Eigenes DCA Feld wird nicht angezeigt bei Änderung des Weiterleitungsziels

  1. #1
    Contao-Fan Avatar von mdoll
    Registriert seit
    25.06.2009.
    Ort
    Wietze
    Beiträge
    339

    Standard Events: Eigenes DCA Feld wird nicht angezeigt bei Änderung des Weiterleitungsziels

    Hallo,

    ich habe bei mir bei den Events ein eigenes Feld per DCA-Erweiterung erstellt:

    PHP-Code:
    // contao/dca/tl_calendar_events.php
    use Contao\CoreBundle\DataContainer\PaletteManipulator;

    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['availability'] = [
        
    'label' => ['Event ausgebucht''Bitte angeben, ob das Event ausgebucht ist.'],
        
    'inputType' => 'select',
        
    'options' => ['','Ja''Nein'],
        
    'eval' => ['tl_class' => 'w50''maxlength' => 255],
        
    'sql' => ['type' => 'string''length' => 255'default' => ''],
    ];

    PaletteManipulator::create()
        ->
    addField('availability''details_legend'PaletteManipulator::POSITION_PREPEND)
        ->
    applyToPalette('default''tl_calendar_events')

    Das funktioniert im Grunde auch wunderbar, aber nur so lange, wie als Weiterleitungsziel in dem Event "Standard" ausgewählt habe. Wenn ich eine der anderen Option "Seite", "Artikel" oder "Individuelle URL" auswähle, wird mein Feld nicht mehr angezeigt.

    Was muss ich denn ergänzen, damit mein Feld bei allen Weiterleitungszielen angezeigt wird?

    Danke und Gruß
    Mathias
    Geändert von mdoll (01.10.2021 um 11:23 Uhr)
    “Ah," said Mr Pin. "Right. I remember. You are concerned citizens." He knew about concerned citizens. Wherever they were, they all spoke the same private language, where 'traditional values' meant 'hang someone'.”
    ― Terry Pratchett, The Truth

  2. #2
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    Du musst es noch den jeweiligen Paletten hinzufügen. z.B. für
    Code:
    internal
    etc.
    Grüße
    Alex

  3. #3
    Contao-Fan Avatar von mdoll
    Registriert seit
    25.06.2009.
    Ort
    Wietze
    Beiträge
    339

    Standard

    Danke für den Hinweis.

    Der default Palette ist das Feld ja bereits hinzugefügt. Wie finde ich denn die Namen der weiteren Paletten raus?

    Und kann ich die Paletten so hinzufügen?

    PHP-Code:
    // contao/dca/tl_calendar_events.php
    use Contao\CoreBundle\DataContainer\PaletteManipulator;

    PaletteManipulator::create()
        ->
    addField('availability''details_legend'PaletteManipulator::POSITION_PREPEND)
        ->
    applyToPalette('default''tl_calendar_events'),
        ->
    applyToPalette('internal''tl_calendar_events'),
        ->
    applyToPalette('...''tl_calendar_events')

    Ich bin leider kein Entwickler, so dass sich mir das nicht von alleine erschließt

    Danke und Gruß
    Mathias
    “Ah," said Mr Pin. "Right. I remember. You are concerned citizens." He knew about concerned citizens. Wherever they were, they all spoke the same private language, where 'traditional values' meant 'hang someone'.”
    ― Terry Pratchett, The Truth

  4. #4
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    hier sind die Paletten definiert.
    https://github.com/contao/contao/blo....php#L149-L152

    Du musst nur zu denen hinzufügen wo es sein sollte.
    Speicher das ganze mal ab und teste ob es funktioniert
    Grüße
    Alex

  5. #5
    Contao-Fan Avatar von mdoll
    Registriert seit
    25.06.2009.
    Ort
    Wietze
    Beiträge
    339

    Standard

    Perfekt!

    Man darf nur keine Kommas ans Zeilenende setzen. So geht's:

    PHP-Code:
    // contao/dca/tl_calendar_events.php
    use Contao\CoreBundle\DataContainer\PaletteManipulator;

    PaletteManipulator::create()
        ->
    addField('availability''details_legend'PaletteManipulator::POSITION_PREPEND)
        ->
    applyToPalette('default''tl_calendar_events')
        ->
    applyToPalette('internal''tl_calendar_events')
        ->
    applyToPalette('article''tl_calendar_events')
        ->
    applyToPalette('external''tl_calendar_events')

    Vielen Dank und Gruß
    Mathias
    “Ah," said Mr Pin. "Right. I remember. You are concerned citizens." He knew about concerned citizens. Wherever they were, they all spoke the same private language, where 'traditional values' meant 'hang someone'.”
    ― Terry Pratchett, The Truth

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
  •