Hallo Leute,
wie läßt sich in Contao 5 HTML in Überschriften einstellen / erlauben?
Mein Problem nach dem Update :
Anhang 26389
Hier die Einstellungen im Contao BA:
Anhang 26390
Druckbare Version
Hallo Leute,
wie läßt sich in Contao 5 HTML in Überschriften einstellen / erlauben?
Mein Problem nach dem Update :
Anhang 26389
Hier die Einstellungen im Contao BA:
Anhang 26390
Ahoi,
siehe auch hier: https://docs.contao.org/manual/de/anleitungen/dca/PHP-Code:
// contao/dca/tl_content.php
// HTML in Überschriften
$GLOBALS['TL_DCA']['tl_content']['fields']['headline']['eval']['allowHtml'] = true;
Grüße,
Stefko
Das funktioniert bei mir leider nicht. Der HTML-Code ist im FE in den Überschriften zu sehen: <span>Überschrift</span>PHP-Code:
<?php
// Allow HTML in Headlines
$GLOBALS['TL_DCA']['tl_content']['fields']['headline']['eval']['allowHtml'] = true;
Den Anwendungs-Cache im CM habe ich erneuert
Ist die Systemwartung im BE gemeint? Ja, die habe ich gemacht.Zitat:
auch im BE neu gespeichert?
Bei den Einstellungen habe ich folgendes drin:
Anhang 26391
Oder wo muß ich noch was wie speichern?
meinte eigentlich Dein CE-Text
Ja, schaut so hier aus:
Anhang 26393
Das HTML wird in den Überschriften nicht erkannt. :-(
das hast Du auch in der Datei "contao/dca/tl_content.php" ?
bau mal einen Fehler ein oder ein
ob die Datei überhaupt geladen wirdPHP-Code:
dd('Huhu');
Datei "contao/dca/tl_content.php"PHP-Code:
<?php
// Allow HTML in Headlines
$GLOBALS['TL_DCA']['tl_content']['fields']['headline']['eval']['allowHtml'] = true;
// Berechtigung Veröffentlichung sperren / Benutzerrechte
// $GLOBALS['TL_DCA']['tl_content']['fields']['invisible']['sql'] = "char(1) NOT NULL default '1'";
// $GLOBALS['TL_DCA']['tl_content']['fields']['invisible']['default'] = true;
Cache leeren, Debugmodus an und gucken ob die Meldung kommtPHP-Code:
<?php
dd('wird geladen');
// Allow HTML in Headlines
$GLOBALS['TL_DCA']['tl_content']['fields']['headline']['eval']['allowHtml'] = true;
// Berechtigung Veröffentlichung sperren / Benutzerrechte
// $GLOBALS['TL_DCA']['tl_content']['fields']['invisible']['sql'] = "char(1) NOT NULL default '1'";
// $GLOBALS['TL_DCA']['tl_content']['fields']['invisible']['default'] = true;
Fehlermeldung im CMPHP-Code:
<?php
// Allow HTML in Headlines
$GLOBALS['TL_DCA']['tl_content']['fields']['headline']['eval']['allowHtml'] = true;
dd('Huhu');
// Berechtigung Veröffentlichung sperren / Benutzerrechte
// $GLOBALS['TL_DCA']['tl_content']['fields']['invisible']['sql'] = "char(1) NOT NULL default '1'";
// $GLOBALS['TL_DCA']['tl_content']['fields']['invisible']['default'] = true;
Code:$ /usr/local/bin/php_cli -q -dmax_execution_time=0 -dmemory_limit=-1 -ddisplay_errors=0 -ddisplay_startup_errors=0 -derror_reporting=0 -dallow_url_fopen=1 -ddisable_functions= -ddate.timezone=Europe/Berlin /html/cto_5_1/vendor/contao/manager-bundle/bin/contao-console cache:warmup --env=prod
// Warming up the cache for the prod environment with debug false
"Huhu"
# Process terminated with exit code 1
# Result: General error
o.k. - also geladen wirds... nun ist noch spannend, ob vor oder nach der Core-Einstellung zu dem Feld... konntest aus dem "dd" ein "dump" machen und das Ganze auch in der Core-Datei einbauen - natürlich anderer Text - und gucken ob Deins später als Core aufgerufen wird
Was meinst du mit vor oder nach der Core-Einstellung zu dem Feld?Zitat:
ob vor oder nach der Core-Einstellung zu dem Feld... konntest aus dem "dd" ein "dump" machen und das Ganze auch in der Core-Datei einbauen - natürlich anderer Text - und gucken ob Deins später als Core aufgerufen wird
aus dem dd ein dump ?
das Ganze auch in der Core-Datei einbauen ?
gucken ob Deins später als Core aufgerufen wird ?
Ich stehe da jetzt nen bissl auf dem Schlauch, was damit gemeint ist bzw. was ich machen soll...
die Core-DCA ist für headline hier https://github.com/contao/contao/blo...ntent.php#L195
Suche die Datei und mach am Ende des Arrays also Zeile 789
und in DeinerPHP-Code:
dump('Ich bin Dein Vater!');
PHP-Code:
dump('Das ist der Weg!');
... und guck doch mal was in dem Feld in der DB wirklich steht - das kannst Du im FE nicht immer genau sehen
Einfach neu speicher reicht nicht immer - schreib die span-Tags selbst mal neu ohne C&P
So eine Datei bzw. so ein Pfad
contao/core-bundle/contao/dca/tl_content.php
gibt es bei mir nicht. Ich habe nur contao/dca/tl_content.php, aber keinen core-bundle.
Muß ich diesen neu anlegen ?
Hab ich im BE, Inhaltselement neu anlegen und in H2 mit span probiert, ergibt keine Besserung.Zitat:
schreib die span-Tags selbst mal neu ohne C&P
##
in vendor/contao/core-bundle/... und dann mal gucken wie das in C5 dann aussieht
so hier eintragen?
Anhang 26394
Verwendest Du die Twig-Templates oder hast Du umgestellt auf die Legacy-Templates?
Daran habe ich noch nichts bewußt eingestellt. Woran erkenne ich, was ich gerade nutze?Zitat:
Verwendest Du die Twig-Templates oder hast Du umgestellt auf die Legacy-Templates?
Komme von Contao 4.13.15 und stelle gerade auf die 5er um.
Templates TWIG ?
Anhang 26395
Standardmäßig werden bei der Überschrift und auch bei vielen (eventuell allen, habe ich noch nicht genau geschaut) Inhaltselementen die neuen Twig-Templates verwendet. Ich hatte Dir dazu im anderen Thread etwas verlinkt.
Ich habe etwas mit den Twig-Templates getestet und auch die gewünschte Lösung bekommen.
Möchte mich aber beim Entwickler rückversichern, damit ich keine "falsche" Lösung schreibe.
Ich melde mich sobald ich was gehört habe.
Gemeint ist sicherlich dieses hier, oder?Zitat:
Standardmäßig werden bei der Überschrift und auch bei vielen (eventuell allen, habe ich noch nicht genau geschaut) Inhaltselementen die neuen Twig-Templates verwendet. Ich hatte Dir dazu im anderen Thread etwas verlinkt.
Anhang 26397
Ist das mit dem Update auf Contao automatisch passiert? So wie ich das sehen ja, oder? (da steht ja was von html.twig drin)
Anhang 26398
Die Frage für mich als Laie ist, was muß ich jetzt wie wo ändern?
In meinem CSS die Klassen .ce_text in .content-text umändern?
Was muß ich in Contao, oder in welchen Dateien eintragen / ändern?
Wenn die bisherigen Dinge in Contao 6 eh wegfallen, macht es natürlich jetzt schon Sinn, im Rahmen des Updates von der 4er auf die 5er Version diese Arbeiten zu erledigen.
Hier wäre vielleicht eine To Do Liste nicht schlecht, so nach dem Schema "Nimm dein abgeändertes fe_page.html und verändere x,y, und z."
Es hilft zwar der Vergleich / Unterschiede bei den Templates anzeigen zu lassen, aber auch da hab ich eine Frage, siehe hier:
Anhang 26399
Was muß ich da verändern, wenn bei Beiden das Gleiche steht? (siehe die Pfeile)
Das kann ich Dir nicht sagen, ich habe noch kein Update gemacht. Ich nutze für meine Kunden in der Regel nur LTS-Versionen.
Ich denke schon, aber auch das habe ich mir noch nicht angeschaut.
Ich weiß nicht was Du damit meinst.
Wenn es soweit ist, dass Contao 5 als LTS verfügbar ist, wird es sicher wieder Videos von der Contao Academy geben. Du bist doch Mitglied der Contao Academy oder?
In diesem Forumsthread ging es doch aber gerade um ein ganz konkretes Problem:
HTML in Überschriften erlauben in Contao 5
Wenn Du hier alle Probleme, die Du mit dem Update hast quer Beet aufzählst, dann schaut niemand mehr durch glaube ich. Also eins nach dem anderen und besser auch jedes Problem in einem eigenen Thread.
Hier jetzt die notwendige Templateanpassung für das Template headline.html.twig um HTML in Überschriften zu erlauben
Mit dem Filter raw sorgst Du dafür, dass der Inhalt so ausgegeben wird, wie er in der DB steht. Mit der dca-Anpassung sorgst Du dafür, dass HTML-Tags korrekt in die DB geschrieben werden.Code:{% extends "@Contao/content_element/headline.html.twig" %}
{% block headline_inner %}
{{ headline.text|raw }}
{% endblock %}
Das hat etwas mit Input- und Output-Encoding zu tun. Dazu findet man einiges in der Entwickler-Doku oder auch bei Google.
Wenn Du HTML-Tags in allen Überschriften erlauben möchtest, sollte das ein globales Template werden und nicht in Deinem Theme-Templateordner liegen.
Für die Twig-Templates in Contao gibt es für das Handbuch gerade einen Pulrequest von mir. Der ist aber noch nicht veröffentlich. Dort werden aber tatsächlich nur die Grundlagen erklärt um einen Einstieg zu bekommen.
Noch ein ganz grundsätzlicher Tipp von mir:
Ich würde nicht mit einem Update einer bestehenden Installation anfangen, um mich in Contao 5 einzuarbeiten. Ich gehe den Weg, dass ich erst einmal an einer "leeren" Testinstallation schaue, was so alles mit den neuen Templates möglich ist und was für Veränderungen auf mich zukommen.
Danke, das hat schon mal geklappt:
1. In den Templates ein neues Template angelegt
Anhang 26401
2. Den Code eingefügt
So hier:Code:{% extends "@Contao/content_element/headline.html.twig" %}
{% block headline_inner %}
{{ headline.text|raw }}
{% endblock %}
Anhang 26402
Bei Elementtyp Überschrift mit der Klasse "content-headline" funktioniert das jetzt, (ehemals ce_headline)
Aber wie aktiviert man das Ganze für die Überschriften im Elementtyp Text? Also Klasse "content-text" (ehemals ce_text) ?
Da Du auch dort den Block headline_inner zur Verfügung hast im Prinzip analog nur für das Template text.html.twig
Einfach ausprobieren. Mehr mach ich gerade auch nicht ;).Code:{% extends "@Contao/content_element/text.html.twig" %}
{% block headline_inner %}
{{ headline.text|raw }}
{% endblock %}
Wenn Du es überall haben möchtest müsstest Du wahrscheinlich das Komponenten-Template entsprechend anpassen _headline.html.twig
Das habe ich aber gerade nicht getestet.
Nachtrag: Hab es doch noch schnell probiert. Auch letzteres funktioniert.
So hier eintragen:Zitat:
Wenn Du es überall haben möchtest müsstest Du wahrscheinlich das Komponenten-Template entsprechend anpassen _headline.html.twig
Dann funktionieren auch Überschriften wie im Elementtyp BildCode:{% use "@Contao/component/_headline.html.twig" %}
{% block headline_inner %}
{{ headline.text|raw }}
{% endblock %}
Ja bei Anpassung der Komponente wird das überall aktiviert, wie oben geschrieben
Mit dem oben angegebenen Code wir nur HTML in Überschriften berücksichtigt. Es können aber auch Inserttags in Überschriften vorkommen und auch diese sollten korrekt ausgegeben werden (https://docs.contao.org/dev/framewor...s/#insert-tags).
Außerdem wird damit m.E. das Behandeln von Leerstellen innerhalb von Text und HTML-Code weggelassen (apply spaceless und die entsprechende Schreibweise {%- bzw. -%}).
https://twig.symfony.com/doc/3.x/filters/spaceless.html
https://twig.symfony.com/doc/3.x/tem...espace-control
Also ich denke das Template _headline.html.twig sollte besser wie folgt angepasst werden:
Nachtrag: Voraussichtlich wird das Template _headline_html.twig noch etwas vereinfacht https://github.com/contao/contao/issues/6441Code:{% use "@Contao/component/_headline.html.twig" %}
{%- block headline_inner %}
{%- apply spaceless %}
{{ headline.text|insert_tag|raw }}
{% endapply -%}
{% endblock -%}