Ergebnis 1 bis 22 von 22

Thema: [Gelöst] Bildunterschrift - Zeichenanzahl erhöhen (DCA Befehl?)

  1. #1
    Contao-Fan Avatar von jgrotstabel
    Registriert seit
    22.11.2011.
    Ort
    Bocholt
    Beiträge
    279

    Standard [Gelöst] Bildunterschrift - Zeichenanzahl erhöhen (DCA Befehl?)

    Hey,

    irgendwie komme ich gerade nicht weiter, ich möchte über einen DCA Befehl (oder anders?) die Anzahl der Zeichen für die Bildunterschriften erhöhen.
    Im Moment sind das ja standartmäßig 255. Welchen Befehl muss ich dafür einsetzen?

    Besten Dank für die Unterstützung.
    Geändert von jgrotstabel (05.11.2013 um 16:50 Uhr)
    Webentwickler bei Paus Design & Medien in Bocholt / NRW: www.paus-medien.de
    Meine Website: www.grotstabel.com (Sorry seit Jahren keine Zeit für ein Redesign...)
    Xing-Account: www.xing.com

  2. #2
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    letzte Zeile:
    PHP-Code:
            'caption' => array
            (
                
    'label'                   => &$GLOBALS['TL_LANG']['tl_content']['caption'],
                
    'exclude'                 => true,
                
    'search'                  => true,
                
    'inputType'               => 'text',
                
    'eval'                    => array('maxlength'=>255'allowHtml'=>true'tl_class'=>'w50'),
                
    'sql'                     => "varchar(255) NOT NULL default ''" 
    ACHTUNG: nicht updatesicher.....

  3. #3
    Contao-Fan Avatar von jgrotstabel
    Registriert seit
    22.11.2011.
    Ort
    Bocholt
    Beiträge
    279

    Standard

    Ja, nicht Update sicher ist natürlich das Problem.

    Kann man diesen Befehlt nicht auch über die DCA Config Datei updatesicher einbinden?

    Ich habe in einem alten Eintrag von tril folgendes Gefunden.

    HTML-Code:
     unset($GLOBALS['TL_DCA']['tl_content']['fields']['caption']['eval']['maxlength']);
    Damit sollte man eine Erweiterung mit der Funktion bauen:
    https://community.contao.org/de/show...zahl-erh%F6hen

    Das wollte ich dann irgendwie umstricken, erzeugt bei mir aber heftige Abstürze ;-)

    Ist sowas nicht über die DCA Config möglich?

    P.S. aus welcher Datei ist der Auszug den Du da geschickt hast?
    Webentwickler bei Paus Design & Medien in Bocholt / NRW: www.paus-medien.de
    Meine Website: www.grotstabel.com (Sorry seit Jahren keine Zeit für ein Redesign...)
    Xing-Account: www.xing.com

  4. #4
    Contao-Fan
    Registriert seit
    02.03.2013.
    Beiträge
    436

    Standard

    Code:
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['sql']="varchar(400) NOT NULL default ''";
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['eval']['maxlength'] = 400;
    in die dcaconfig.php eintragen, müsste updatesicher sein (allerdings ohne Gewähr)

  5. #5
    Contao-Fan Avatar von jgrotstabel
    Registriert seit
    22.11.2011.
    Ort
    Bocholt
    Beiträge
    279

    Standard

    Sehr geil, da ist das Ding :-) Vielen Dank!

    Wie genau hast Du denn jetzt rausgefunden, welches Feld angepasst werden muss bzw. was ich in die DCA Config schreiben muss.
    Wo genau finde ich denn diese Angeaben? Gibt es da ein Tutorial oder sowas? Man steht ja immer mal wieder vor dem Problem....

    Mal will man HTML Tags in Überschriften erlauben, mal wie jetzt mehr Zeichen und und und....
    Webentwickler bei Paus Design & Medien in Bocholt / NRW: www.paus-medien.de
    Meine Website: www.grotstabel.com (Sorry seit Jahren keine Zeit für ein Redesign...)
    Xing-Account: www.xing.com

  6. #6
    Contao-Fan
    Registriert seit
    02.03.2013.
    Beiträge
    436

    Standard

    Gute Frage, ist bei mir auch immer nur "try and error". Meistens schaue ich einfach in die dca-dateien von contao, bei Bildunterschrift musste ich sofort an content denken, also in die tl_content.php geschaut
    und nach dem entsprechenden Eintrag gesucht. Etwas nervig ist da schon die Beschriftung, in den dca werden nur die englischen Begriffe genutzt, da muss man dann manchmal etwas Rätseln, ob jetzt caption, title blabla der richtige Eintrag ist, hier hilft notfalls ein Blick in die language Datei.
    Wesentlich schöner wäre natürlich eine komplette Übersicht, aber so etwas wird es wohl nicht geben.
    Eine allgemeine Übersicht gibt es ja hier https://contao.org/de/manual/3.0/dat...er-arrays.html, aber leider nur mit unzureichenden Beispielen.

  7. #7
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    system\modules\core\dca\tl_content.php

    für welche Version von Contao willst das den machen?
    in dem Beitrag von Tristan ist das noch Contao < 3 ... als Modul sollte das Updatesicher gehen.

    so sollte die dca\tl_content aussehen:
    PHP-Code:
    <?php
    $GLOBALS
    ['TL_DCA']['tl_content']['fields']['caption'] = array
        (
                
    'eval'                    => array('maxlength'=>400'allowHtml'=>true'tl_class'=>'w50'),
                
    'sql'                     => "varchar(400) NOT NULL default ''"

        
    );
    Geändert von magicsepp (05.11.2013 um 17:49 Uhr)

  8. #8
    Contao-Fan Avatar von jgrotstabel
    Registriert seit
    22.11.2011.
    Ort
    Bocholt
    Beiträge
    279

    Standard

    Zitat Zitat von wulf Beitrag anzeigen
    Code:
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['sql']="varchar(400) NOT NULL default ''";
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['eval']['maxlength'] = 400;
    in die dcaconfig.php eintragen, müsste updatesicher sein (allerdings ohne Gewähr)
    Diese Lösung ist Update sicher. Habe ich getestet. Hab das eingebaut und danach von Contao 3.1.1 auf Contao 3.1.4 ein Update gemacht. Ist alles erhalten geblieben.

    Ne Liste wäre echt der Hammer. Oder sowas macht man über ne Wiki. Mich wundert es immer das die Leute das alles so schnell raus kramen. Das will ich auch können :-)

    Ich schaue mir mal die Datei an:

    system\modules\core\dca\tl_content.php

    Danke für den Tipp!
    Webentwickler bei Paus Design & Medien in Bocholt / NRW: www.paus-medien.de
    Meine Website: www.grotstabel.com (Sorry seit Jahren keine Zeit für ein Redesign...)
    Xing-Account: www.xing.com

  9. #9
    Contao-Nutzer Avatar von joseph.ki
    Registriert seit
    19.11.2010.
    Ort
    Wels/Österreich
    Beiträge
    128

    Standard

    Nur für alle, welche das selbe Problem unter Contao 3.1 haben:
    1. in die dcaconfig.php folgende Zeilen hinzufügen:
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['sql']="varchar(400) NOT NULL default ''";
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['eval']['maxlength'] = 400;

    2. in der Datenbank unter der Tabelle tl_content unter dem Feld caption den Wert
    Länge/Werte auf entsprechend auf 400 ändern.

    Wenn in der Datenbank der Wert nicht gändert wird passiert überhaupt nichts.

    Hoffe geholfen zu haben

  10. #10
    Contao-Nutzer
    Registriert seit
    16.11.2016.
    Beiträge
    49

    Standard Zeichenlänge in Contao 4

    Ich möchte diesen Thread für Contao 4 noch einmal aufgreifen. Aktuell stehe ich vor folgendem Problem:

    ein Kunde hat mitunter sehr lange Bildunterschriften, die deutlich über 255 Zeichen liegen. Ich habe nun den caption varchar Wert in der Datenbank auf 400 gesetzt. Darüber hinaus habe ich unter /system/config eine dcaconfig.php angelegt mit folgendem Inhalt:

    PHP-Code:
    <?php
    $GLOBALS
    ['TL_DCA']['tl_content']['fields']['caption']['sql']="varchar(400) NOT NULL default ''";
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['eval']['maxlength'] = 400;
    Und nun zu meinen Problemen:
    1. dcaconfig.php ist ja bereits veraltet - welchen anderen Weg soll ich gehen? Ich hatte bereits unter /app folgendes angelegt:
      /Resources/contao/dca/tl_content.php --> jedoch ohne Erfolg.
    2. Rufe ich das Install-Tool auf, soll ich immer die Datenbank aktualisieren und den varchar Wert auf 255 zurücksetzen.


    Und sonst so:
    als Alternative wollte ich das Bild im Editor einfügen und die Bildunterschrift dort eingeben. Da wäre die Textlänge ja irrelevant. Allerdings soll das Bild in der Lightbox aufrufbar sein und da versagt mein Template-Können. Zwar habe ich es geschafft, den TinyMCE so zu erweitern, dass ich Vorlagen nutzen kann, jedoch weiß ich nicht, wie ich dort dann den Aufruf für die Lightbox einbringe, sodass es für den Redakteur bequem ist (und er nicht immer noch einen Link zum Originalbild einbauen muss).

    Bin für alle Lösungsvorschläge und Tipps sehr dankbar! :-)

  11. #11
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.706
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    /app/Resources/contao/dca/tl_content.php ist auf jeden Fall richtig. Ich vermute, du musst mit dem Contao-Manager noch den Punkt 'Systemwartung - "Cache neu erstellen"' aufrufen.

    Links (A-Tags) bei denen das HREF in der Lightbox geöffnet werden soll benötigen nur ein Attribut data-lightbox.
    HTML-Code:
    <a href="foo.jpg" data-lightbox="" ...
    Achtung, wenn du die Colorbox benutzt und HTML-Seiten in der Lightbox öffnen möchtest, benötigst du eine Template-Anpassung.

    Bilder im Tiny würde ich nicht empfehlen, wenn es aber sein muss, gibt es eine Erweiterung, mit welcher du auch dort einem Link das Attribut data-lightbox mitgeben kannst.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  12. #12
    Contao-Nutzer
    Registriert seit
    16.11.2016.
    Beiträge
    49

    Standard

    Und noch einmal:

    ich musste inzwischen die Zeichenanzahl deutlich erhöhen: auf 800 Zeichen. Leider wird trotzdem immer bei der vorher gesetzten Länge von 400 Zeichen abgeschnitten. Folgendes habe ich gemacht:

    • die Werte in der tl_content.php geändert
    • den Wert in der Datenbank geändert
    • 'Systemwartung - "Cache neu erstellen" durchgeführt
    • über das Terminal "vendor/bin/contao-console doctrine:cache:clear contao.cache" ausgeführt


    Hat leider nix gebracht. Hat jemand eine Idee, woran es liegen könnte?

  13. #13
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.809

    Standard

    Zitat Zitat von dudette Beitrag anzeigen
    Und noch einmal:

    ich musste inzwischen die Zeichenanzahl deutlich erhöhen: auf 800 Zeichen. Leider wird trotzdem immer bei der vorher gesetzten Länge von 400 Zeichen abgeschnitten. Folgendes habe ich gemacht:

    • die Werte in der tl_content.php geändert
    • den Wert in der Datenbank geändert
    • 'Systemwartung - "Cache neu erstellen" durchgeführt
    • über das Terminal "vendor/bin/contao-console doctrine:cache:clear contao.cache" ausgeführt


    Hat leider nix gebracht. Hat jemand eine Idee, woran es liegen könnte?
    Ein bißchen konkreter, was Du für Code genommen hast, wäre ganz gut.
    Funktioniert das?:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['sql']="text NULL";
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['eval']['maxlength'] = 800
    varchar(800) macht keinen Sinn, weil Du Dir unnötig die tl_content verbaust. Durch varchar(800) gehen Dir etwas über 1600 Zeichen (wegen UTF8) verloren. Und Du hast nur Platz für 65536 Zeichen in einem Datensatz. Bei Typ "text" fallen nur 12 Byte an, da der Datentyp extern gespeichert wird.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  14. #14
    Contao-Nutzer
    Registriert seit
    16.11.2016.
    Beiträge
    49

    Standard

    Hi Frank,
    sorry, ich hatte meinen Code ein paar Posts höher schon einmal gepostet:

    PHP-Code:
    <?php 
    $GLOBALS
    ['TL_DCA']['tl_content']['fields']['caption']['sql']="varchar(800) NOT NULL default ''"
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['eval']['maxlength'] = 800;
    Das hat allerdings leider nicht funktioniert.
    Was muss ich denn in der Datenbank umstellen? Ich konnte dir leider nicht folgen:
    varchar(800) macht keinen Sinn, weil Du Dir unnötig die tl_content verbaust. Durch varchar(800) gehen Dir etwas über 1600 Zeichen (wegen UTF8) verloren. Und Du hast nur Platz für 65536 Zeichen in einem Datensatz. Bei Typ "text" fallen nur 12 Byte an, da der Datentyp extern gespeichert wird.

  15. #15
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.809

    Standard

    Zitat Zitat von dudette Beitrag anzeigen
    PHP-Code:
    <?php 
    $GLOBALS
    ['TL_DCA']['tl_content']['fields']['caption']['sql']="varchar(800) NOT NULL default ''"
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['eval']['maxlength'] = 800;
    Das hat allerdings leider nicht funktioniert.
    Eigentlich sollte es auch in Contao 4 noch funktionieren.

    Zitat Zitat von dudette Beitrag anzeigen
    Was muss ich denn in der Datenbank umstellen? Ich konnte dir leider nicht folgen:
    Nichts. Ändere einfach den Datentyp auf "text NULL". MySQL-Datenbanken haben eine Begrenzung bei den Datensatzgrößen. Jeder Datentyp frißt ein paar Bytes und sowas wie varchar(800) natürlich besonders viel. Früher oder später stößt Du an die Grenzen der Tabelle tl_content, weil sehr viele Erweiterungen ihre Daten dort speichern. Ich habe bereits mehrfach die tl_content gesprengt, mußte dann entweder Erweiterungen deinstallieren, umbauen oder noch sparsamer mit den Bytes umgehen.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  16. #16
    Contao-Nutzer
    Registriert seit
    16.11.2016.
    Beiträge
    49

    Standard

    Das hat prima funktioniert! Nachdem ich noch composer update ausgeführt habe, kann ich Bildunterschriften von unendlicher Länge einfügen.

    Herzlichen Dank! :-)

  17. #17
    Contao-Nutzer
    Registriert seit
    06.04.2013.
    Beiträge
    83

    Standard

    Hello zusammen,

    bin eben auf diesen Thread gestoßen weil ich vor dem gleichen Problem stehe. Ich nutze aktuell Contao 4.4.

    Technisch funktioniert das Ganze bei mir, nur ich habe das Problem, dass das Formular im Backend auf 255 Zeichen beschränkt ist.

    Bildschirmfoto 2020-04-24 um 18.26.05.png

    Ansonsten habe ich die Werte wie beschrieben in die tl_content.php übernommen, die Datenbank angepasst und sämtliche Caches geleert.

    Hat jemand eine Idee? Vielen Dank

  18. #18
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.809

    Standard

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['eval']['maxlength'] = 800
    sollte eigentlich genau für Dein BE-Formular das Richtige sein. Es sei denn, es geht hier nicht um Inhaltselemente.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  19. #19
    Contao-Nutzer
    Registriert seit
    06.04.2013.
    Beiträge
    83

    Standard

    Zitat Zitat von Samson1964 Beitrag anzeigen
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_content']['fields']['caption']['eval']['maxlength'] = 800
    sollte eigentlich genau für Dein BE-Formular das Richtige sein. Es sei denn, es geht hier nicht um Inhaltselemente.
    Vielen Dank für Deine Rückmeldung. Inhaltselement war das Stichwort! Ich habe die ganze Zeit direkt in der Dateiverwaltung im Formular gearbeitet.

    Bildschirmfoto 2020-04-27 um 10.03.18.png

    Direkt im Inhaltselement zu schauen, wäre natürlich sinnvoller gewesen
    Gibt es denn die Möglichkeit die Begrenzung auch in der Dateiverwaltung aufzuheben?

    Viele Grüße

  20. #20
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.809

    Standard

    Contao 4: app/Resources/contao/dca/tl_files:
    PHP-Code:
    // Meta-Felder Zeichenanzahl auf 1000 hochsetzen
    $GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['title'] = 'maxlength="1000"';
    $GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['alt'] = 'maxlength="1000"';
    $GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['caption'] = 'maxlength="1000"'
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  21. #21
    Contao-Nutzer
    Registriert seit
    06.04.2013.
    Beiträge
    83

    Standard

    Zitat Zitat von Samson1964 Beitrag anzeigen
    Contao 4: app/Resources/contao/dca/tl_files:
    PHP-Code:
    // Meta-Felder Zeichenanzahl auf 1000 hochsetzen
    $GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['title'] = 'maxlength="1000"';
    $GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['alt'] = 'maxlength="1000"';
    $GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['caption'] = 'maxlength="1000"'
    Klasse, vielen Dank! Genau das war es was ich gesucht habe!

  22. #22
    Contao-Nutzer
    Registriert seit
    31.05.2010.
    Ort
    Österreich
    Beiträge
    98

    Standard

    Zitat Zitat von Samson1964 Beitrag anzeigen
    Contao 4: app/Resources/contao/dca/tl_files:
    PHP-Code:
    // Meta-Felder Zeichenanzahl auf 1000 hochsetzen
    $GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['title'] = 'maxlength="1000"';
    $GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['alt'] = 'maxlength="1000"';
    $GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['caption'] = 'maxlength="1000"'
    Wenn ich das nochmal aufgreifen darf für Contao 4.13 bitte - bei mir funktioniert das nicht. Warmup ist erfolgreich, aber im Backend Formular bleibt ein <input ... maxlength="255">

    Muss da noch woanders was gemacht werden?

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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