Ergebnis 1 bis 7 von 7

Thema: dca ergänzen, ein Feld hinzufügen

  1. #1
    Contao-Nutzer
    Registriert seit
    10.02.2012.
    Ort
    Basel
    Beiträge
    213
    Partner-ID
    8602

    Frage dca ergänzen, ein Feld hinzufügen

    Ich möchte ein zusätzliches Feld in einer Contao4.4-Installation nach der neuen Anleitung hinzuzufügen - also ohne ein Modul zu schreiben.

    Der Link zur Anleitung:
    https://docs.contao.org/dev/getting-started/dca/

    Ich habe die Datei erstellt, mit dem Beispielcode befüllt, im Contao-Manager den Prod-Cache erneuert, im install-Tool gehofft das Feld zur Datenbank hinzufügen zu können, aber da erscheint es nicht, im Backend auch nicht.

    Mögliche Fehlerquellen:
    Ich habe die Datei am falschen Ort abgelegt.
    In der Anleitung steht, die Datei müsse nach contao/dca.
    Mit contao ist hier das Root-Verzeichnis der Contao-Installation gemeint, oder?

    Gibt es andere mögliche Fehlerquellen oder fehlt in der Doku etwas?

    Danke im Voraus für eure Antworten.

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.942

    Standard

    Zitat Zitat von Webbaumeister Beitrag anzeigen
    Mit contao ist hier das Root-Verzeichnis der Contao-Installation gemeint, oder?
    Nein, mit contao ist das Verzeichnis contao im Root-Verzeichnis Deiner Contao-Installation gemeint.

    Edit: das gilt für Contao 4.8 aufwärts. Bei 4.4 wäre es (ohne Gewähr) app/Resources/contao/dca.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Nutzer
    Registriert seit
    10.02.2012.
    Ort
    Basel
    Beiträge
    213
    Partner-ID
    8602

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    Nein, mit contao ist das Verzeichnis contao im Root-Verzeichnis Deiner Contao-Installation gemeint.

    Edit: das gilt für Contao 4.8 aufwärts. Bei 4.4 wäre es (ohne Gewähr) app/Resources/contao/dca.
    /contao/dca hatte ich getestet, das funktioniert nicht.

    app/Resources/contao/dca funktioniert! Besten Dank!

  4. #4
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  5. #5
    Contao-Nutzer
    Registriert seit
    19.07.2011.
    Beiträge
    79

    Standard DCA Ergänzung 4.13.5

    Hallo Zusammen,
    versuche gerade bei den Inhaltselementen tl_content ein neues Feld ("elementaddon") in der Gruppe expert_legend hinzuzufügen.
    Ich habe die Anleitung hier https://docs.contao.org/dev/getting-started/dca/ getestet und funktioniert auch.

    Leider kriege ich es bei tl_content nicht gebacken, hier der Code:

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

    $GLOBALS['TL_DCA']['tl_content']['fields']['elementaddon'] = [
        
    'label' => ['Elementaddon''Location of the news entry, if applicable.'],
        
    'inputType' => 'text',
        
    'eval' => ['tl_class' => 'w50''maxlength' => 255],
        
    'sql' => ['type' => 'string''length' => 255'default' => ''],
    ];

    PaletteManipulator::create()
        ->
    addField('elementaddon''expert_legend'PaletteManipulator::POSITION_APPEND)
        ->
    applyToPalette('default''tl_content')
    ;
    ?>

    Leider passiert gar nichts. Kann mir jemand helfen?

    LG, Oliver
    Geändert von Spooky (01.08.2022 um 16:55 Uhr)

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

    Standard

    Du hast das Feld nur bei der Palette "default" hinzugefügt. Du musst das Feld bei der Palette des jeweiligen Inhaltselementes hinzufügen.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Nutzer
    Registriert seit
    19.07.2011.
    Beiträge
    79

    Standard die lösung war:

    <?php

    // contao/dca/tl_content.php
    use Contao\CoreBundle\DataContainer\PaletteManipulator ;

    foreach( $GLOBALS['TL_DCA']['tl_content']['palettes'] as $type => $p ) {

    if( is_array($p) ) {
    continue;
    }

    PaletteManipulator::create()
    ->addField('elementaddon', 'expert_legend', PaletteManipulator::POSITION_APPEND)
    ->applyToPalette($type, 'tl_content')
    ;
    }

    $GLOBALS['TL_DCA']['tl_content']['fields']['elementaddon'] = [
    'label' => ['Elementaddon', 'Location of the news entry, if applicable.'],
    'inputType' => 'text',
    'eval' => ['tl_class' => 'w50', 'maxlength' => 255],
    'sql' => ['type' => 'string', 'length' => 255, 'default' => ''],
    ];

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
  •