Pures HTML in Text-Feldern

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7437
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 938 Mal

Pures HTML in Text-Feldern

Beitrag von MarkusR »

Da hier heute erst wieder die Frage nach wechselnden Tabellenzeilenfarben aufkam und ich eine Lösung einfach mal in den Raum stellte, muß ich hier jetzt noch was nachliefern:

Da Textfelder eingegebenen HTML-Code mittels htmlspecialchars() umwandeln, sind diese nicht für Codestücke geeignet und man müsste mod_inline dafür missbrauchen.

Da ich aber nur die Codestücke

Code: Alles auswählen

<table class="colored">
und

Code: Alles auswählen

</table>
an Anfang und Ende der Rubrik stellen wollte*, hier ein kleines Workaround:

in _include/parser_r_text.inc.php ändert man

Code: Alles auswählen

$_t = htmlspecialchars($_t);
in

Code: Alles auswählen

if (!array_key_exists('html_tags', $parameters)) {
	$_t = htmlspecialchars($_t);
}
und schon kann man mit einem Platzhalter
<!-- Text: HTML-Code; html_tags; -->
(HTML-Code ist nur der Name und kann frei gewählt werden)
nicht umgewandelten HTML-Code benutzen... :wink:

*) wenn jetzt die Index-Templates eine Tabellenzeile (<tr>....</tr>) darstellen, dann gibt es eine hübsche Tabelle mit wechselnden Zeilenfarben... insofern _includes/tables.js auch eingebunden ist...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 02:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Hi,

ich habe das mit Steffen besprochen und werde es einbauen. Wir sind uns noch nicht ganz sicher, wie wir es nennen...

Eigentlich müsste man hierfür den htmlspecialchars-Parameter nehmen, wie er auch in den anderen Platzhaltern teilweise benutzt wird.

Dann wäre es also htmlspecialchars = off|false|0

Die Frage ist, ob Template-Ersteller damit klar kommen, dass an manchen Stellen htmlspecialchars per Default ein ist und abgeschaltet werden muss - an anderen Stellen aber genau andersrum benutzt wird...

Wobei die Idee hinter den Default-Werten ja ist, dass sie mit sinnvollen Werten vorbelegt sind. Bei Textfeldern ist aktiv eben sinnvoll...

Balu
Bartels.Schöne
ConPresso Support & Development
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7437
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Nur als Anmerkung:

Ich habe es gestern auch für Value:Title eingebaut, weil ich es für ein Projekt so gebraucht habe, um Überschriften gezielt umbrechen zu können.

Also bitte auch für den Titel.

Witzigerweise wird es im Backend direkt ausgegeben (also als umgebrochener Titel), aber ich habe es eben im Frontend benötigt.

Und solange ein Templateersteller den Unterschied zwischen einem Textfeld und einem HTML-Feld kapiert (was einige Redakteure auch nach Jahren nicht kapieren), sollte er anhand deren spezifischen Eigenschaften auch einen Rückschluß auf htmlspecialchars ziehen können...
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 02:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Ich habe es jetzt eingebaut für Datei- und Bildplatzhalter (jeweils für den description-Parameter), für den Textplatzhalter, für den URL-Platzhalter (text-Parameter) und den Value-Platzhalter (title-Parameter).

An den Default-Einstellungen sollte sich nichts geändert haben. Man kann es aber jeweils ein- oder ausschalten.

Balu
Bartels.Schöne
ConPresso Support & Development
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Re: Pures HTML in Text-Feldern

Beitrag von Mr. Magpie »

MarkusR hat geschrieben:[...]wenn jetzt die Index-Templates eine Tabellenzeile (<tr>....</tr>) darstellen, dann gibt es eine hübsche Tabelle mit wechselnden Zeilenfarben... insofern _includes/tables.js auch eingebunden ist...
Das ist meines Wissens der erste Hinweis auf tables.js hier im Forum.

Wer sich dafür interessiert, der hat sicher schon bemerkt, tables.js liegt im Verzeichnis _include, nicht in _includes von ConPresso 4.x.

Die Funktion dieses kleine Skriptes kennt auch schon jeder, der jemals mit ConPresso 4.x gearbeitet hat, denn es ist für die hübsche Gestaltung der Tabellen im Backend verantwortlich.
Wem sich die möglichen Klassen und deren Verwendung nicht schon aus dem Skript selbst erschließen, der kann daher auch im Backend nachschauen.
Günther Ludwig
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7437
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 938 Mal

Beitrag von MarkusR »

Der erste Hinweis ist noch etwas älter

http://community.conpresso.de/viewtopic.php?t=3010

und da habe ich es noch richtig ohne s geschrieben... :wink:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Mr. Magpie
ConPresso-Profi
Beiträge: 1004
Registriert: 01.01.1970 02:00
Wohnort: Wuppertal
Hat sich bedankt: 274 Mal
Danksagung erhalten: 59 Mal

Beitrag von Mr. Magpie »

Danke, ich schrieb ja aber auch "meines Wissens". Per Suche hatte ich es nicht gefunden, ist aber auch kein Wunder, ich Trottel suchte ja auch nach table.js statt tables.js! :oops:
s-Fehler produzieren können wir also beide. Quod erat demonstrandum :P
Günther Ludwig