Ergebnis 1 bis 4 von 4

Thema: DCA default palette überschreiben

  1. #1
    Contao-Nutzer
    Registriert seit
    21.09.2016.
    Beiträge
    9

    Standard DCA default palette überschreiben

    Hallo zusammen,

    ich habe mir in meiner `/contao/dca/tl_calendar_events.php` die default palette einmal komplett per `$GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'] = ...` (ohne strg_replace) neu definiert, um mehr Flexibilität in der Struktur zu haben. Das funktioniert soweit auch wie es soll, allerdings ist das Problem dann wohl, dass Erweiterungen, die die default palette ebenfalls manipulieren dann nicht mehr angezeigt werden. In meinem konkreten Fall ist das die Erweiterung `calendar_extended`. Ich vermute, dass das an der Reihenfolge liegt, in der die Erweiterung und meine eigene `/contao/dca/tl_calendar_events.php` geladen wird. Kann ich das irgendwie so modifizieren, dass beides funktioniert? Oder brauche ich da einen anderen Ansatz? Danke!

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

    Standard

    Das passiert, weil du die Palette komplett überschreibst. Du solltest stattdessen den PaletteManipulator nutzen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    21.09.2016.
    Beiträge
    9

    Standard

    Ja, das ist mir grundsätzlich bewusst. Ich hatte gehofft, dass es eine Möglichkeit gibt contao zu sagen, dass die Erweiterung(en) erst nach meiner modifizierten tl_calendar_events.php geladen wird. Dann müsste es meiner Meinung wieder wie gewünscht klappen. Den Palette Manipulator empfinde ich für meinen Anwendungsfall leider als ähnlich mühsam, wie die strg_replace Methode.

  4. #4
    Contao-Fan
    Registriert seit
    24.02.2021.
    Beiträge
    593
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Finde ich nicht mühsam
    PHP-Code:
    // contao/dca/tl_calendar_events
    use Contao\CoreBundle\DataContainer\PaletteManipulator;

    // Extend the default palette
    PaletteManipulator::create()
        ->
    removeField('field1')
        ->
    addField('field1')
        ->
    applyToPalette('default''tl_calendar_events')


Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 2 (Registrierte Benutzer: 0, Gäste: 2)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •