Ergebnis 1 bis 19 von 19

Thema: DCA-Felder in tl_member.php unter Contao 5.3 anpassen

  1. #1
    Contao-Fan
    Registriert seit
    13.03.2010.
    Beiträge
    283

    Standard DCA-Felder in tl_member.php unter Contao 5.3 anpassen

    Hallo zusammen,

    ich möchte den Thread gerne fortsetzen, weil beim Upgrade auf Contao 5.3 eine Schema-Änderung einfach nicht durchläuft. Die Meldung ist
    PHP-Code:
    An exception occurred while executing a querySQLSTATE[22001]: String dataright truncated1406 Data too long for column 'description' at row 1 
    .

    Für alle, die ebenfalls Felder unter 5.3 erweitern wollen und nicht weiterkommen, poste ich mal all meine Dateien. Im Ordner contao/dca (auf der Ebene von files und templates) liegt

    PHP-Code:
    <?php
    // contao/dca/tl_member.php

    // Erforderlich, damit das Feld im Backend hinzugefügt wird
    use Contao\CoreBundle\DataContainer\PaletteManipulator;

    // Eigenes Feld definieren
    $GLOBALS['TL_DCA']['tl_member']['fields']['title'] = [
      
    // Den Labeltext gleich hier im DCA definieren
      
    'label' => ['Beruf''Beruf'],
      
    'inputType' => 'text',
      
    'eval' => ['mandatory' => false'tl_class' => 'w50''maxlength' => 255],
      
    'sql' => ['type' => 'string''length' => 255'default' => ''],
    ];

    $GLOBALS['TL_DCA']['tl_member']['fields']['description'] = [
      
    // Den Labeltext gleich hier im DCA definieren
      
    'label' => ['Beschreibung''Beschreibung hinzufügen'],
      
    'inputType' => 'textarea',
      
    'eval' => ['rte' => 'tinyMCE''tl_class' => 'clr''style'=>'width:100%;'],
      
    'sql' => "text NULL"
    ];

    $GLOBALS['TL_DCA']['tl_member']['fields']['button_linkurl'] = [
      
    // Den Labeltext gleich hier im DCA definieren
      
    'label' => ['Google-Link''Google-Link'],
      
    'inputType' => 'text',
      
    'eval' => ['rgxp' => 'url''decodeEntities' => true'maxlength' => 255'dcaPicker' => true'addWizardClass' => false'tl_class' => 'w50''configure' => true],
      
    'sql' => ['type' => 'string''default' => ''],
    ];

    $GLOBALS['TL_DCA']['tl_member']['fields']['avatar'] = [
      
    // Den Labeltext gleich hier im DCA definieren
      
    'label' => ['avatar''Bild auswählen'],
      
    'inputType' => 'fileTree',
      
    'eval' => ['files' => true'filesOnly' => true'tl_class' => 'w50 m12''fieldType' => 'checkbox''extensions' => 'jpg,png,jpeg'],
      
    'sql' => "binary(16) NULL",
    ];

    // Das neue Feld den gewünschten Inhaltselementen hinzufügen:
    PaletteManipulator::create()
      ->
    addField(array('title''description'), 'personal_legend'PaletteManipulator::POSITION_APPEND)
      ->
    addField(array('avatar''button_linkurl'), 'contact_legend'PaletteManipulator::POSITION_APPEND)
      ->
    applyToPalette('default''tl_member')
    ;
    Damit habe ich zwei neue Textfelder, eine Textarea und einen Bildupload im Mitglieder-Bereich im Backend. Obwohl das 'sql' => "text NULL" bei "description" nicht anders ist als bei Contao 4.13, bemängelt er jetzt die Länge. Woran liegt das?

    Ich habe alle möglichen anderen Lösungen schon probiert, also auch das, was Dirksche oben geschrieben hat. Auch ohne width, auch mit length-Angabe usw.. Aber immer derselbe fehler. Das DB-Update habe ich jetzt abgebrochen, es sind trotzdem alle Daten und Felder im Backend da. Aber ich hätte gerne diese Meldung weg.

    Hat jemand einen Rat?
    Geändert von thymian (01.02.2026 um 16:35 Uhr)

  2. #2
    Contao-Fan
    Registriert seit
    13.03.2010.
    Beiträge
    283

    Standard

    Habe gerade mal nachgeschaut: Das Mitglied, das am meisten Platz in der textarea beansprucht, hat ca. 3800 Buchstaben im Einsatz. Muss ich da im sql was ändern? Z.B. auf mediumtext?

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

    Standard

    Moderation: Beitrag in einen eigenen Thread verschoben.



    Zitat Zitat von thymian Beitrag anzeigen
    weil beim Upgrade auf Contao 5.3 eine Schema-Änderung einfach nicht durchläuft. Die Meldung ist
    PHP-Code:
    An exception occurred while executing a querySQLSTATE[22001]: String dataright truncated1406 Data too long for column 'description' at row 1 
    .
    Um was für eine Änderung geht es da? Poste die gesamte Konsolenausgabe von contao:migrate.
    » sponsor me via GitHub or Revolut

  4. #4
    Contao-Fan
    Registriert seit
    13.03.2010.
    Beiträge
    283

    Standard

    Sorry, hatte Screenshots gemacht.

    Bildschirmfoto 2026-02-01 um 13.55.21.png
    Bildschirmfoto 2026-02-01 um 15.47.19.png

    Ich habe während der Installation, bevor ich die DB-Daten eingetragen habe, wie immer Files und Templates hochgeladen und zusätzlich die tl_member.php in den contao/dca--Ordner.

    PS: Bin mit der Konsole nicht vertraut.
    Geändert von thymian (01.02.2026 um 16:31 Uhr)

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

    Standard

    Aber das heißt in Contao 4.13 hattest du diese Anpassung bereits? Es klingt so als würde Contao versuchen wieder zurück auf VARCHAR zu gehen (aber um das genauer zu sehen, müsstest du die vollständige Konsolenausgabe posten - egal. ob via Contao Manager oder Kommandozeile).
    » sponsor me via GitHub or Revolut

  6. #6
    Contao-Fan
    Registriert seit
    13.03.2010.
    Beiträge
    283

    Standard

    Aber es gab nie ein VARCHAR, das ist ja das Seltsame, siehe alter Thread. Ich versuche nochmal ein DB-Update...

    (Alter Thread: https://community.contao.org/de/show...lder-erweitern
    Geändert von thymian (01.02.2026 um 16:51 Uhr)

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

    Standard

    Achso ja klar - weil du das Feld ja neu hinzugefügt hast.

    Poste wie gesagt mal die gesamte Konsolenausgabe ("< >" im Contao Manager).
    » sponsor me via GitHub or Revolut

  8. #8
    Contao-Fan
    Registriert seit
    13.03.2010.
    Beiträge
    283

    Standard

    Vor dem Ausführen der Schema-Änderungen:

    PHP-Code:
    Feld tl_member.locked löschen
    Feld tl_member
    .allowEmail löschen
    Feld tl_member
    .publicFields löschen
    Feld tl_member
    .alias löschen
    Feld tl_member
    .cm_autocoords löschen
    Feld tl_member
    .cm_map_zoom löschen
    Feld tl_member
    .cm_gc_requestcount löschen
    Feld tl_member
    .cm_map_indivzoom löschen
    Feld tl_member
    .cm_map_center löschen
    Feld tl_member
    .cm_map_indivcenter löschen
    Feld tl_member
    .cm_lng löschen
    Feld tl_member
    .cm_lat löschen
    Feld tl_member
    .cm_coords löschen
    Feld tl_member
    .cm_allowmap löschen
    Feld tl_member
    .loginAttempts löschen
    Feld tl_member
    .login ändern

    TINYINT
    (1) DEFAULT 0 NOT NULL
    Feld tl_member
    .assignDir ändern

    TINYINT
    (1) DEFAULT 0 NOT NULL
    Feld tl_member
    .disable ändern

    TINYINT
    (1) DEFAULT 0 NOT NULL
    Feld tl_member
    .title ändern

    VARCHAR
    (255) DEFAULT '' NOT NULL
    Feld tl_member
    .description ändern

    VARCHAR
    (255) DEFAULT '' NOT NULL
    Feld tl_member
    .useTwoFactor ändern

    TINYINT
    (1) DEFAULT 0 NOT NULL
    ALTER TABLE tl_member DROP locked
    DROP allowEmailDROP publicFieldsDROP aliasDROP cm_autocoordsDROP cm_map_zoomDROP cm_gc_requestcountDROP cm_map_indivzoomDROP cm_map_centerDROP cm_map_indivcenterDROP cm_lngDROP cm_latDROP cm_coordsDROP cm_allowmapDROP loginAttemptsCHANGE login login TINYINT(1) DEFAULT 0 NOT NULLCHANGE assignDir assignDir TINYINT(1) DEFAULT 0 NOT NULLCHANGE disable disable TINYINT(1) DEFAULT 0 NOT NULLCHANGE title title VARCHAR(255) DEFAULT '' NOT NULLCHANGE description description VARCHAR(255) DEFAULT '' NOT NULLCHANGE useTwoFactor useTwoFactor TINYINT(1) DEFAULT 0 NOT NULL 
    Nach dem Ausführen:

    PHP-Code:
    Feld tl_member.locked löschen

    An exception occurred 
    while executing a querySQLSTATE[22001]: String dataright truncated1406 Data too long for column 'description' at row 1
    Feld tl_member
    .allowEmail löschen
    Feld tl_member
    .publicFields löschen
    Feld tl_member
    .alias löschen
    Feld tl_member
    .cm_autocoords löschen
    Feld tl_member
    .cm_map_zoom löschen
    Feld tl_member
    .cm_gc_requestcount löschen
    Feld tl_member
    .cm_map_indivzoom löschen
    Feld tl_member
    .cm_map_center löschen
    Feld tl_member
    .cm_map_indivcenter löschen
    Feld tl_member
    .cm_lng löschen
    Feld tl_member
    .cm_lat löschen
    Feld tl_member
    .cm_coords löschen
    Feld tl_member
    .cm_allowmap löschen
    Feld tl_member
    .loginAttempts löschen
    Feld tl_member
    .login ändern
    Feld tl_member
    .assignDir ändern
    Feld tl_member
    .disable ändern
    Feld tl_member
    .title ändern
    Feld tl_member
    .description ändern
    Feld tl_member
    .useTwoFactor ändern
    ALTER TABLE tl_member DROP locked
    DROP allowEmailDROP publicFieldsDROP aliasDROP cm_autocoordsDROP cm_map_zoomDROP cm_gc_requestcountDROP cm_map_indivzoomDROP cm_map_centerDROP cm_map_indivcenterDROP cm_lngDROP cm_latDROP cm_coordsDROP cm_allowmapDROP loginAttemptsCHANGE login login TINYINT(1) DEFAULT 0 NOT NULLCHANGE assignDir assignDir TINYINT(1) DEFAULT 0 NOT NULLCHANGE disable disable TINYINT(1) DEFAULT 0 NOT NULLCHANGE title title VARCHAR(255) DEFAULT '' NOT NULLCHANGE description description VARCHAR(255) DEFAULT '' NOT NULLCHANGE useTwoFactor useTwoFactor TINYINT(1) DEFAULT 0 NOT NULL 
    Bildschirmfoto 2026-02-01 um 16.41.06.png

  9. #9
    Contao-Fan
    Registriert seit
    13.03.2010.
    Beiträge
    283

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Achso ja klar - weil du das Feld ja neu hinzugefügt hast.

    Poste wie gesagt mal die gesamte Konsolenausgabe ("< >" im Contao Manager).
    Nein, ich hatte alle Felder schon in 4.13 und habe jetzt bei der Neuinstallation die tl_member.php wieder in contao/dca gepackt.

  10. #10
    Contao-Urgestein
    Registriert seit
    24.02.2021.
    Beiträge
    1.883
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von thymian Beitrag anzeigen
    Habe gerade mal nachgeschaut: Das Mitglied, das am meisten Platz in der textarea beansprucht, hat ca. 3800 Buchstaben im Einsatz. Muss ich da im sql was ändern? Z.B. auf mediumtext?
    Auch nach fast 3,5 Jahren gilt für dich immer noch folgende Frage:
    https://community.contao.org/de/show...l=1#post563505

    Weitere Frage - Weißt du wieviel Text in 64KB gespeichert werden kann?

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

    Standard

    Laut der Konsolenausgabe möchte das Feld tl_member.description auf VARCHAR(255) geändert werden.

    Unter welchem Pfad genau hast du die DCA Anpassungen abgelegt?
    » sponsor me via GitHub or Revolut

  12. #12
    Contao-Fan
    Registriert seit
    13.03.2010.
    Beiträge
    283

    Standard

    @zoglo: Welche Frage meinst Du genau?

    Ja, ich weiß, etwa 65.000 Buchstaben, aber ich wollte halt alles abfragen.

  13. #13

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

    Standard

    Und "<?php" am Anfange eh nicht vergesen? Application Cache danach neu aufgebaut?
    » sponsor me via GitHub or Revolut

  15. #15
    Contao-Fan
    Registriert seit
    13.03.2010.
    Beiträge
    283

    Standard

    Ja, das mit dem <?php am Anfang vergesse ich als Nicht-Entwicklerin gerne mal, aber diesmal nicht. Cache auch tausendmal geleert.

    ABER: Es klappt jetzt, die Änderungen sind durchgelaufen!

    Was habe ich gemacht? – Firefox-Cache einmal geleert und FF geschlossen. Im description-Feld die style-Angaben wieder entfernt. Wobei diese Angaben anfangs gar nicht drin waren und ich trotzdem nicht weiterkam.

    Vielen, vielen Dank an Dich, spooky, für Deine Geduld! Es tut mir echt leid, dass ich Dich und zoglo jetzt (sonntags!) damit aufgehalten habe.
    Geändert von thymian (01.02.2026 um 22:51 Uhr)

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

    Standard

    Ich denke du hattest einfach nach dem Hinzufügen der DCA-Datei nicht den Applikations-Cache erneuert.
    » sponsor me via GitHub or Revolut

  17. #17
    Contao-Fan
    Registriert seit
    13.03.2010.
    Beiträge
    283

    Standard

    Tja, was soll ich dazu noch sagen... Die Caches habe ich wahrscheinlich zehnmal geleert bzw. erneuert.

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

    Standard

    Welche Caches meinst du genau? Oben hast du zB den Firefox Cache erwähnt, der hat damit aber nichts zu tun.
    » sponsor me via GitHub or Revolut

  19. #19
    Contao-Fan
    Registriert seit
    13.03.2010.
    Beiträge
    283

    Standard

    Naja, prod und dev cache, wie immer, wenn sich Änderungen im Frontend nicht zeigen. Deshalb habe ich das mit FF extra erwähnt.

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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