Contao-Camp 2024
Ergebnis 1 bis 12 von 12

Thema: Sonderzeichen kann im Backend nicht gespeichert werden - DCA-Feld anpassen?

  1. #1
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard Sonderzeichen kann im Backend nicht gespeichert werden - DCA-Feld anpassen?

    Hallo zusammen,

    ich habe einige Felder via DCA ergänzt.
    In Textfeldern lässt sich nun aktuell keine Apostroph ' speichern.

    Der Hinweis „Aus Sicherheitsgründen können Sie folgende Zeichen hier nicht verwenden: #<>()\=”.
    Ist nachvollziehbar.

    Allerdings ist das '-Zeichen nicht in der Liste aufgeführt…

    Kann die Eingabe durch Anpassen des DCA-Eintrags ermöglicht werden?

    Aktuelle DCA-Definition:

    PHP-Code:
    GLOBALS['TL_DCA']['tl_member']['fields']['partnerkommune'] = [
        
    'label'    => &$GLOBALS['TL_LANG']['tl_member']['partnerkommune'],
        
    'exclude'    => true,
        
    'inputType'    => 'text',
        
    'sorting' => true,
        
    'eval'        => ['mandatory'=>true'rgxp'=>'extnd''maxlength'=>4096'placeholder'=>'''feEditable'=>true'feViewable'=>true'feGroup'=>'personal''tl_class'=>'widget clr'],
        
    'sql'        => "varchar(256) NOT NULL"
    ]; 
    Danke.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  2. #2
    Contao-Nutzer
    Registriert seit
    26.10.2012.
    Beiträge
    89
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Eventuell löst
    PHP-Code:
    'decodeEntities' => true 
    im eval-Array das problem.

  3. #3
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Danke ausi.

    Kann ich das in der DCA-Datei ändern, den ProdCache leeren und testen oder wirkt sich das für bestehende Einträge negativ aus?
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  4. #4
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard

    schau mal hier rein: dev-docu
    mit 'custom' kannst du explizit Zeichen erlauben
    Grüsse
    Bernhard


  5. #5
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von derRenner Beitrag anzeigen
    schau mal hier rein: dev-docu
    mit 'custom' kannst du explizit Zeichen erlauben
    Danke, „leider” in dem Fall noch 4.9.x - aber gut zu wissen.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  6. #6
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von ausi Beitrag anzeigen
    Eventuell löst
    PHP-Code:
    'decodeEntities' => true 
    im eval-Array das problem.
    Das hat unter 4.9.20 geklappt. Danke dafür.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  7. #7
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Guten Abend zusammen,

    nach den Änderungen oben erhalte ich diese Fehlermeldung, wenn ich ein neues Mitglied im Backend anlegen möchte:

    Code:
    An exception occurred while executing 'INSERT INTO tl_member (`dateAdded`, `tstamp`) VALUES (1632343628, 0)': SQLSTATE[HY000]: General error: 1364 Field 'nameverein' doesn't have a default value
    Dieses Feld war vorher so definiert:

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['nameverein'] = [
        
    'label'          => &$GLOBALS['TL_LANG']['tl_member']['nameverein'],
        
    'exclude'      => true,
        
    'inputType'   => 'text',
        
    'sorting'       => true,
        
    'eval'           => ['mandatory'=>true'rgxp'=>'extnd''maxlength'=>4096'placeholder'=>'''feEditable'=>true'feViewable'=>true'feGroup'=>'personal''tl_class'=>'widget clr'],
        
    'sql'             => "varchar(256) NOT NULL"
    ]; 
    Und ergänzt dann so:

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['nameverein'] = [
        
    'label'           => &$GLOBALS['TL_LANG']['tl_member']['nameverein'],
        
    'exclude'       => true,
        
    'inputType'    => 'text',
        
    'sorting'        => true,
        
    'eval'            => ['mandatory'=>true'rgxp'=>'extnd''maxlength'=>4096'decodeEntities'=>true'placeholder'=>'''feEditable'=>true'feViewable'=>true'feGroup'=>'personal''tl_class'=>'widget clr'],
       
    'sql'              => "varchar(256) NOT NULL"
    ]; 
    Ich habe den Wert 'decodeEntities'=>true, bei allen Feldern vom Typ „Text” und „Textarea” ergänzt.

    Durch die Ergänzung wird das nun bemängelt?
    Danke für einen Hinweis.
    Geändert von planepix (22.09.2021 um 23:00 Uhr)
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

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

    Standard

    Du hast als SQL Angabe
    Code:
    varchar(256) NOT NULL
    geschrieben. Das bedeutetet übersetzt: in das Feld darf ein String gespeichert werden, der bis zu 256 Zeichen lang sein darf und es darf nicht NULL gespeichert werden. Das heißt: bei einem INSERT oder UPDATE muss (im strict mode zu mindest) auf jeden Fall ein entsprechender String-Wert für dieses Feld definiert sein. Wenn kein Wert definiert ist, kommt es zu einem Fehler.

    Da du aber weder deinen default Wert im DCA angegeben hast, noch einen default Wert im SQL, kommt es dann eben zu diesem Fehler, wenn man nichts in das Feld eingetragen hat.

    Am saubersten wäre es so:
    PHP-Code:
    'sql' => ['type' => 'string''length' => 256'default' => ''
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Danke Spooky.

    Dann könnte ich das bei allen SQL's eintragen?
    Also in allen Feldern in denen ich
    Code:
    varchar(256) NOT NULL
    stehen habe?

    Ich habe noch diese beiden Varianten:

    Code:
        'sql'        => "varchar(128) NOT NULL"
    
        'sql'        => "blob NULL"
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

  10. #10
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Habe die Felder alle entsprechend angepasst - klappt.
    Danke nochmals Spooky.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

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

    Standard

    blob NULL musst du nicht ändern. Da erlaubst du ja NULL (geht auch nicht anders).
    » sponsor me via GitHub or PayPal or Revolut

  12. #12
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    6.464
    Partner-ID
    107
    Contao-Projekt unterstützen

    Support Contao

    Standard

    So ich hänge es mal hier mit an im Thread.

    Die Felddefinitionen via DCA haben nun funktioniert.

    Nach dem Update auf 4.9.21 wird Text im Frontend mit HTML-Tags ausgegeben, wenn ein neues Mitglied angelegt wird oder bestehender Text geändert und gespeichert wird.

    Bezieht sich auf diese DCA_Konfiguration:

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['citydescription'] = [
        
    'label'    => &$GLOBALS['TL_LANG']['tl_member']['citydescription'],
        
    'exclude'    => true,
        
    'inputType'    => 'textarea',
        
    'eval'        => ['mandatory'=>true'rgxp'=>'allnum''maxlength'=>4096'decodeEntities'=>false'placeholder'=>'''rte'=>'tinyMCE''allowHtml'=>false'feEditable'=>true'feViewable'=>true'feGroup'=>'personal''tl_class'=>'widget clr'],
        
    'sql'        => "blob NULL"
    ]; 
    Das habe ich von true auf false geändert, half aber nicht ->
    PHP-Code:
    'decodeEntities'=>false

    Ggf. suche ich falsch. Wenn jemand einen Tipp geben kann bin ich dankbar dafür.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao-Sprechstunde
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://app.gitbook.com/@planepix/s/...-mit-contao-4/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    Schon wieder ein Update?
    Glücklich sind die, die den Wert erkennen – und wertschätzen.
    „Muss man machen wie beim Zahnarzt. Der bestraft einen auch mit hohen Rechnungen wenn man die Pflege vernachlässigt.”

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
  •