hab ich... klappt leider auch nicht.
Druckbare Version
hab ich... klappt leider auch nicht.
PHP-Code:
$GLOBALS['TL_DCA']['tl_calendar']['fields']['title']['eval']['allowHtml'] = true;
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['title']['eval']['allowHtml'] = true;
Prüfe mal, ob die Variablen richtig sind, z.B.
Ich meine, dass es headline dort gar nicht gibt. Du darfst dabei nicht raten, sondern musst die Variablen herausfinden. Du findest sie im Ordner system/modules/calendar/dca/.PHP-Code:
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['headline']['eval']['allowHtml']
Ihr seit super... Problem gelöst!
Im Nachhinein betrachtet lags auf der Hand. Ich suche ja den Befehl für Title und nicht die Headline...
Danke für die schnelle Hilfe :)
Hallo,
ich erlebe in einer neuen 2.11.3-Installation auch gerade, dass HTML-Tags in Artikelüberschriften nicht - wie aus früheren Versionen gewohnt - akzeptiert werden.
Der Eintrag in der dcaconfig.php:und ich habe es probiert mit <span>, <sup> und <br /> (letzteres so eingetragen in den Einstellungen).Code:$Globals['TL_DCA']['tl_content']['fields']['headline']['eval']['allowHTML'] = true;
Hat sich da etwas grundsätzlich geändert? Wenn man Überschriften, die Sonderformatierungen benötigen nur noch im TinyMCE gestalten kann, wäre das nicht gerade elegant ...
Viele Grüße,
Anke
(Groß-/Kleinschreibung beachten!)PHP-Code:
$GLOBALS['TL_DCA']['tl_content']['fields']['headline']['eval']['allowHtml'] = true;
Ah, ja, danke! Es wollte zwar zuerst immer noch nicht (während es in einer lokalen Inst. einwandfrei funktioniert), aber nach dem Löschen aller Caches inkl. FF geht es jetzt, puh!
Schönen Sonntag noch,
Anke
Edit: Hilfe, nein, hab falsch geklickt! Es geht weiterhin nur in der lokalen Installation, aber nicht auf dem gehosteten Server!!! Mit dem Speichern des Artikels verschwinden die HTML-Tags wieder. Der Contao-Check ist einwandfrei, das Error-Log zeigt auch nichts. Wird dafür etwa irgendeine PHP-Funktion benötigt, die Xampp automatisch installiert und die auf dem Hostserver vielleicht fehlt?
Edit 2: Vergesst es - das "$GLOBALS" war jetzt nur am Anfang groß geschrieben. Das kommt davon, wenn man falsch kopiert ...
Nur so am Rande: $GLOBALS ist keine Variable von Contao, sondern von PHP, sie steht in jeder Installation automatisch zur Verfügung und kann auch nicht gelöscht werden. Contao füllt sie nur mit Werten. http://de.php.net/manual/de/reserved...es.globals.php
Hänge mich hier einmal dran:
Funktionierte das Ergänzen der dcaconfig.php in 2.10.x und früheren Contao-Versionen mit folgenden Einträgen
noch, klappt dies unter 2.11.3 nicht mehr.PHP-Code:
/* HTML fuer Seitentitel freischalten */
$GLOBALS['TL_DCA']['tl_page']['fields']['title']['eval']['allowHtml'] = true;
/* HTML fuer Seitenname freischalten */
$GLOBALS['TL_DCA']['tl_page']['fields']['pageTitle']['eval']['allowHtml'] = true;
Man konnte dann in das Feld des Seitennamens HTML-Tags eingeben.
Z.B. um eine zweizeilige Navigation zu erreichen durch die Eingabe von "Haus<br />am See".
Dies klappt bei Verwendung der gleichen Einträge in der dcaconfig.php unter 2.11.3 nicht mehr - präziser:
der Umbruch wird erzeugt, aber im Title-Tag des Links sowie im Titel im <head> wird der HTML-Code mit ausgegeben und angezeigt. HTML-Tags via dcaconfig werden nicht mehr gestrippt?
Wer hat dies bereits auch versucht und festgestellt?
Ich würde da sonst gerne ein Issue auf github eröffnen.
Hallo Planepix,
da ich auch gerade über das Problem gestolpert bin, im Seitennamen (also dem Navigationspunkt) einen Umbruch erzeugen zu müssen, habe ich es - wie anderswo auch schon beschrieben - folgendermaßen gelöst:
Das klappt dann mit <br /> im Seitennamen (!). Getestet in Contao 2.11.4 (2.11.3 hab ich nicht mehr installiert).HTML-Code:$GLOBALS['TL_DCA']['tl_page']['fields']['title']['eval']['preserveTags'] = true;
Ich glaube, du hast Seitennamen (title) und Seitentitel (pageTitle) verwechselt. Und warum willst du im Seitentitel HTML-Code haben? In der Browsertitelleite ist doch eh kein weiterer HTML-Code möglich, bzw. macht das überhaupt keinen Sinn.
Grüße
R.
Hallo ruedische,
ja das klappt, der Menüpunkt wird auch umbrochen (2.11.3 und 2.11.4) aber im title steht dann der Umbruch als <br /> mit drin.
Beide Methoden versucht und getestet. Es steht im title-Tag immer der HTML Code mit drin.
Ging bis zu 2.11 auf diese Methode.
Stimmt, du hast recht. Ich mach dann aber in diesem Fall einen manuellen Eintrag beim Seitentitel (ohne <br />). Dann geht's und wird auch im title-Attribut des Links richtig übernommen. - Wenn das vorher anders war, war's vielleicht vorher ein Bug? Wenn sich Seitenname und Seitentitel unterscheiden, muss man halt jetzt ein bisschen mehr tippen. Scheint mir aber korrekt zu sein.
So da möchte ich nochmal dran bleiben :)
HTML im Feld " Seitentitel" erzeugt ja keinen Umbruch im Menü - nur im Seitenname.
Stelle ich das im DCA so ein das im Feld "Seitenname" die HTML-Tags erlaubt sind (Screenshot 1) erhalte ich im Title-Tag das HTML auch angezeigt (was dann dazu führt das das Markup nicht mehr validert).
Screenshot 2
Also, ich bekomme einen Umbruch im Menü - allerdings benutze ich "preserveTags" - für den Seitennamen! - und nicht "allowHTML". Im Backend sieht man natürlich die Tags.
Die Seitentitel füge ich dann manuell ein (ohne Tags).
Klappt anstandslos in Contao 2.11.4.
Ok Danke - so läuft der Hase dann ab 2.11.
dann muss man das mal an alle durchtrommeln, die das auf ihren Websites haben - nicht das man das dann verzweifelt versucht und es (nicht) mehr klappt.
Grrr, doch ein Bug in Contao?! Während man bei den Seitentiteln mit erlaubtem HTML manuell nachbessern kann (s.o.), scheint das für Event-Titel nicht zu klappen. Ich habe in der dcaconfig diese Zeile:
Ich möchte Teile der Veranstaltungstitel mit <em> hervorheben. Geht ja auch, aber dann taucht hier wieder der von Planepix bemängelte Umstand auf, dass das HTML im Head-Title-Tag auf der Eventleser-Seite stehenbleibt, ebenso bei den Tooltipps (per title-Attribut) in der Eventliste und im "großen" Kalender. Das ist ganz doof.HTML-Code:$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['title']['eval']['allowHtml'] = true;
Gibt es irgendeinen Weg, das erwünschte HTML nur in die Veranstaltungsüberschrift reinzubringen?
Deswegen ist die Benutzung von HTML dort bestimmt gesperrt. Kannst die HTML-Tags ja nicht dort erlauben und dann erwarten, dass sie hier und da nicht ausgegeben werden.
Vielleicht reicht dir ne Nachbesserung
PHP-Code:
<?php
global $objPage;
$objPage->title = strip_tags($objPage->title);
?>
Hallo Andreas,
danke für den Tipp. Er funktioniert jedoch nicht. Das blöde "<em>" bleibt trotzdem im Seitentitel und im title-Attribut des Event-Links stehen. Ich hab den Code ins Template eingefügt. Gibt es einen speziellen Ort, wo der rein muss?
Grüße R.
Aha. Eine Teillösung hab ich jetzt gefunden. Es muss heißen:
Damit verschwindet im Seitentitel das eingefügte HTML. Nur im "title"-Attribut des Eventcalendar-Links (im großen Kalneder) bleibt's stehen. Kriegt man das auch noch irgendwie weg?PHP-Code:
<?php
global $objPage;
$objPage->pageTitle = strip_tags($objPage->pageTitle);
?>
Ach, das heißt bestimmt $objPage->pageTitle, ich dachte aber auch, dass du mit print_r($objPage); nachsehen würdest.
Ja, mit strip_tags() auf die Variable im Template.
PHP-Code:
<?php
$var = '<em>emphasized</em>';
// mit TAGs
echo $var;
// ohne TAGs
echo strip_tags($var);
?>
Danke, aber ich geb auf. Ich finde nichts, wo hier anzusetzen wäre. Geht halt nicht.
dann doch ein Ticket?
Ja, mach mal. - Wäre ja schon schön, wenn man die Kalenderevents ohne unerwünschte Nebenwirkungen formatieren könnte.
Ergänzung @Andreas:
strip_tags in den Templates funktioniert so nicht, da die Tags im title-Attribut gar nicht drinstehen. Die werden nämlich per htmlspecialchars umgewandelt. Aus <em> wird also <em> - hier muss erst zurückkodiert werden, das hab ich die ganze Zeit übersehen. So geht's dann (das muss in das event_list und das cal_default-Template:
So hab ich das eben getestet, und es scheint zu klappen.PHP-Code:
title="<?php echo strip_tags(htmlspecialchars_decode($event['title'])); ?>
Noch ein Hinweis:
Wenn man in den Event-Titeln HTML erlaubt, muss man darauf achten, den Event-Alias manuell einzutragen, sonst geht das <em> als Text "em" (ohne Spitzklammern da mit rein). Der Link sähe sonst merkwürdig aus. Aus Eventtitel
wird automatischHTML-Code:Lesung aus dem Buch <em>XYZ</em>
lesung-aus-dem-buch-emxyzem
Der Alias, der ja als Eventlink fungiert, wird beim Speichern eingetragen, wenn man das Feld nicht selber füllt.
Ich habe zwei Module mod_newslist auf meiner Startseite und denen möchte ich in der Headline ein Icon mit einem Link voranstellen (RSS-Feed). Siehe:
http://www.pro-d-tunnel.de/index.htm
rechte Spalte.
Ich weiß, dass man die dcaconfig.php abändern muss, aber in meiner steht
und trotzdem schlucken meine Modul-Headlines eingefügtes HTML nicht. Was muss ich denn da sonst einsetzen?PHP-Code:
$GLOBALS[‘TL_DCA’][‘tl_news’][‘fields’][‘headline’][‘eval’][‘preserveTags’] = true;
$GLOBALS[‘TL_DCA’][‘tl_news’][‘fields’][‘headline’][‘eval’]['allowHtml'] = true;
Hallo Jens,
und warum nicht die Icons ( alle gleich?) als Hintergrundbild auf das Element?
Code:#blogposts .layout_short h2 a{background:#f30;}
Ja ja erst Aspirin, dann lesen -sorry die Headline :o
Alle Caches gelöscht?
Alle Caches gelöscht, aber beim Speichern von HTML in der Headline fliegt das wieder raus.
Es sollen ja nur <img> und <a> mit rein, erlaubt sind die doch.
Welche Contao-Version ist da im Einsatz?
Dann kann ich ggf. gegentesten.
Und sind die Hochkommata so vom hier einfügen oder so bei dir in der dcaconfig so drin?
Kann es sein da wir das HTML in den Newstitel wollen aber die Überschrift des Moduls meinen?
Zu langsam...
Hast Du hier Akzentzeichen in Deinen DCA-Anweisungen?
Normalerweise stehen da Hochkommata:
PHP-Code:
$GLOBALS['TL_DCA']['tl_news']['fields']['headline']['eval']['preserveTags'] = true;
$GLOBALS['TL_DCA']['tl_news']['fields']['headline']['eval']['allowHtml'] = true;
Hallo Jens,
verstehe ich das richtig, dass du nicht in einzelnen News-Beiträgen HTML in der Headline eintragen möchtest, sondern innerhalb der Module? Dann wäre folgendes richtiger:
Viele GrüßePHP-Code:
$GLOBALS['TL_DCA']['tl_modules']['fields']['headline']['eval']['allowHtml'] = true;
Janosch
@xchs: Ja, stimmt, das waren Akzentzeichen... :o Wurde abgeändert, brachte aber auch keinen Erfolg.
@Janosch: Ich möchte eine Headline mit diesem HTML ergänzen:
d. h. ein verlinktes kleines Icon soll der Headline im Modul vorangestellt werden. Klappt aber auch mit Deinem Tipp nicht: beim Abspeichern wird alles HTML ignoriert und sofort wieder verworfen. Siehe Eingabemaske:Code:<a title="RSS-Feed Presseschau" href="news.xml"><img title="RSS-Feed" src="tl_files/bilder/rss-icon-16.gif" alt="RSS-Feed" width="16" height="16" /></a>
Hallo Jens,
komisch.
Nur als Idee / Workarround:
Ich baue dann lieber ein eigenes Modul HTML-Code und baue das dann im Seitenlayout ein.
Und wenn es nur auf der Startseite zu sehen ist, dann wird man in der Regel auch ein Unterseiten-Layout verwenden, so dass es sich einfach in das Startseitenlayout einbauen lässt.
Hmm, irgendwas muss da trotzdem noch falsch sein. Könntest Du die "dcaconfig.php" mal zippen und hier anhängen?
Wird gemacht, et voilá:
(ach so: Contao 2.9.4 läuft hier noch)
Oh, sorry, die Anweisung muss natürlich
heißen, also anstelle tl_modules nur tl_module.PHP-Code:
$GLOBALS['TL_DCA']['tl_module']['fields']['headline']['eval']['allowHtml'] = true;
Ich hätte wohl besser meinen eigenen DCA-Eintrag kopieren sollen und nicht einfach jenen von JanoschSkuplik :):p
Genau dieses "s" zuviel war der Haken – vielen Dank, jetzt funktioniert es. Das Ergebnis:
http://www.pro-d-tunnel.de/index.htm
in der rechten Spalte.
Bleibt die nächste Frage, warum aus der Presseschau ein RSS-Feed generiert wird und aus den News nicht... Aber das ist eine andere Frage an anderer Stelle (ein Kollege meinte, da würden die [shy] dazwischenfunken... Es wird nämlich auch nicht validiert. Wer gucken möchte:
http://www.pro-d-tunnel.de/nachrichten.htm
Altes Thema, immer noch nicht ganz klar bzw. nicht Fehlerfrei?
In der dcaconfig.php steht bei mir:
Das funktioniert im Backend und Frontend für Pages und News.PHP-Code:
$GLOBALS['TL_DCA']['tl_page']['fields']['title']['eval']['allowHtml'] = true;
$GLOBALS['TL_DCA']['tl_news']['fields']['headline']['eval']['allowHtml'] = true;
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['title']['eval']['allowHtml'] = true;
Jedoch stimmt mit den Kalender Events etwas nicht.
Im Backend bleibt das HTML (<br>) erhalten.
Im Forntend jedoch nicht. Hier erhalte ich diese Ausgabe:
(Also wurde das <br> in Entities übersetzt?)
PHP-Code:
[title] => 2BC // <br>1. Bayerische Biennale Choreografie
Weiter habe ich herrausgefunden, dass der Title in $this->link; richtig gespeichert wird
in $this->title; jedoch nichtPHP-Code:
<?php echo $this->link; ?>
Was tun? kann ich das Entitie Übersetzten für Tags aus den Einstellungen unterbinden? Sollte das nicht ohnehin der Fall sein?PHP-Code:
<?php echo $this->title; ?>