STYLE-Tags mit tinyMCE?

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
Don Quijote
Beiträge: 3
Registriert: Mo 22. Okt 2007, 08:35
Kontaktdaten:

STYLE-Tags mit tinyMCE?

Beitrag von Don Quijote »

Hallo alle miteinander!
Wie manche andere hier habe ich ein Problem und hoffe, dass mir jemand weiterhelfen kann!
Es handelt sich um folgendes:


Ziel:
HTML erstellten/mutierten/importierten in tinyMCE (mit CSS-Style-Tags [nicht INLINE])
(Inhalt wird in meinem Fall aus SQL-DB gelesen und in tinyMCE importiert)

Aufgabe:
Die Gebrüder Grimm sollen all ihre gebastelten Dreamweaver-Seiten uploaden und im Editor bearbeiten können. Dazu gehören auch die Tags STYLE und SCRIPT. Wobei SCRIPT Kein Problem darstellt (sofern ein Zeichen[Bspw. &nbsp; oder <br>] vor dem <SCRIPT-Tag> steht [tinyMCE-Bug])

Nun meine Konkrete Frage:
Wie und wo werden Angaben zwischen Tags abgefangen und entfernt? Wie kann das verhindert werden resp.: wo kann man diese erlauben?
Oder ganz grob: Wie können STYLE-Tags (sammt dazwischenstehendem „code“) mit tinyMCE erstellt, mutiert und importiert werden?

Vorarbeit:
Ich habe bereits die STYLE-Tags explizit erlaubt. Dafür habe ich folgendes in tinyMCE.init({ erweitert:
extended_valid_elements: „+style[dir<ltr?rtl|lang|media|title|type]”

Hiermit habe ich jedoch erst die STYLE-Tags erlaubt, alles was zwischen den Tags steht wird aus irgendeinem Grund entfernt.
Beim SCRIPT-Tag hingegen funktioniert alles wunderbar!


Beispiel der momentanen Situation:

Dies bspw. wird im HTML-Editor eingefügt oder importiert:

Code: Alles auswählen

<br /><style type="text/css">
a {color : steelblue;text-decoration:none;border-bottom: 1px dashed;}
a:hover {border-bottom: 1px solid;}
</style><br />
<script language="JavaScript" type="text/javascript">function asdf(){ alert('ALERT aus JS-File'); }</script>
Und Dies kommt beim Speichern dabei raus:

Code: Alles auswählen

<br /><style type="text/css"></style><br /><script language="JavaScript" type="text/javascript">function asdf(){ alert('ALERT aus JS-File'); }</script>
PS: Der Aufruf der Javascript-Funktion funktioniert tadellos!
PPS: Das „lustige“ ist, dass der „code“ welcher zwischen den STYLE-Tags steht nur bei FireFox NICHT entfernt wird! (muss wohl irgendwo ein Hack drin sein, doch leider hab ich den betreffenden Teil bis anhin nicht gefunden)
PPPS: Der STYLE muss für jede Seite unterschiedlich gestaltet werden können (also nicht über die im Editor integrierten Styles. Deshalb suche ich noch immer nach einer Lösung mit diesem Ansatz)


Ich bin dankbar über jegliche Ideen, Anregungen und Ansatzmöglichkeiten.
Danke im Voraus
Gruss Don Quijote
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Welche Contenido-Version?

Wie hast Du das in der init erweitert? Du kannst sämtliche Konfigurationen
des tinymce über die System-, Mandanten-, Gruppen- oder Nutzereinstellungen vornehmen (siehe docs/techref/backend). Mit V4.6.23 kannst Du alle Einstellungen vornehmen, wie sie in der tinymce-Doku enthalten sind, vor V4.6.23 musst Du einen Blick in die erwähnte docs/rechtef/backend-Doku werfen.

Ansonsten siehe Tips&Tricks V4.6 (-> valid_elements *[*] usw.).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Don Quijote
Beiträge: 3
Registriert: Mo 22. Okt 2007, 08:35
Kontaktdaten:

Beitrag von Don Quijote »

Erstmal: Entschuldigt bitte die späte Rückmeldung!!! Es ist mir leider noch was Dringendes dazwischen gekommen (geschäftlich).
Und: Danke an Herr(n)B für seine Antwort!

Ich muss gestehen, dass ich kein Contenido verwende!
Wir haben "lediglich" den tinyMCE! Dieser wurde abgepasst und erweitert.
Ich habe jedoch leider nichts zu meinem Problem bei moxiecode gefunden. Anschliessend bin ich dann auf dieses Forum gestossen, mit der Hoffnung auf "Rettung"!

Wie hast Du das in der Init erweitert?
Ich habe in der default-Init-Datei bei tinyMCE.init({...
die extended_valid_elements um "+style[dir<ltr?rtl|lang|media|title|type]" erweitert.
(So, wie es wohl vormir schon jemand mit SCRIPT, MAP und AREA gemacht hat. Halt so, wie es auch im WIKI von moxiecode erklärt wird)

Somit werden die STYLE-Tags stehen gelassen. Wie gesagt wird jedoch alles zwischen dem Start- und End-Tag entfernt (nur beim STYLE-Tag). Dies geschieht wohl in einem anderen Bereich der Scripte...
Dies würde wohl bedeute, dass ich den Code - statt zu konfigurieren - selber anpassen muss.
Eine andere Möglichkeit wäre, ein eigenes Modul für diese spezielle Variante zu erstellen. Soll heissen: Man erlaubt einfach alles - da aufgrund der Aufgabenstellung die Schreibweise sowieso nicht XML konform ist.


PS: Ist es denn mit Contenido möglich, die STYLE-Tags (mit Dem dazwischen) zu erlauben?
wenn ja: wäre es dann vielleicht möglich mir mitzuteilen was sich wo im Code ändert? (à la Vorher/Nachher-Vergleich)

Danke im Voraus
Gruess don quijote



PPS: wo kann ich denn die erwähnte Dokumenation (docs/techref/backend) finden, wenn ich kein contenido-CMS verwende/besitze?
Ist die irgendwo online/downloadbar?
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Ähm, na ja als Contenido-Forum fällt der Support für eine alleinstehende tinyMCE-Installation, ähm, schwer.
PS: Ist es denn mit Contenido möglich, die STYLE-Tags (mit Dem dazwischen) zu erlauben?
wenn ja: wäre es dann vielleicht möglich mir mitzuteilen was sich wo im Code ändert? (à la Vorher/Nachher-Vergleich)
Ja, es wird gespeichert, es sind derzeit bei mir diese Einstellungen gesetzt:

Code: Alles auswählen

tinyMCE.init({
	'mode': 'exact',
	'theme': 'advanced',
	'theme_advanced_toolbar_location': 'top',
	'theme_advanced_path_location': 'bottom',
	'remove_script_host': false,
	'file_browser_callback': 'myCustomFileBrowser',
	'urlconverter_callback': 'CustomURLConverter',
	'apply_source_formatting': true,
	'remove_linebreaks': false,
	'convert_urls': true,
	'relative_urls': true,
	'elements': 'CMS_HTML',
	'language': 'de',
	'cleanup_callback': 'CustomCleanupContent',
	'width': '100%',
	'height': '480px',
	'directionality': 'ltr',
	'theme_advanced_toolbar_align': 'left',
	'plugin_insertdate_dateFormat': '%Y-%m-%d',
	'plugin_insertdate_timeFormat': '%H:%M:%S',
	'theme_advanced_buttons1': 'cut,copy,paste,pastetext,pasteword,separator,search,replace,separator,undo,redo,separator,bold,italic,underline,strikethrough,sub,sup,separator,insertdate,inserttime,preview,separator,styleselect',
	'theme_advanced_buttons2': 'link,unlink,anchor,image,media,advhr,separator,bullist,numlist,separator,outdent,indent,separator,justifyleft,justifycenter,justifyright,justifyfull,removeformat,separator,forecolor,backcolor,separator,ltr,rtl,separator,fullscreen,visualaid,charmap,cleanup,separator,code',
	'theme_advanced_buttons3': 'tablecontrols,separator,formatselect,fontselect,fontsizeselect',
	'plugins': 'table,save,advhr,advimage,advlink,insertdatetime,preview,zoom,media,searchreplace,print,contextmenu,paste,directionality,fullscreen',
	'valid_elements': '*[*]',
	'extended_valid_elements': '*[*]',
	'contenido_background_color': 'white'
});
(ich habe ein paar Zeilen mit URL entfernt, die dürften für Dich nicht relevant sein)
PPS: wo kann ich denn die erwähnte Dokumenation (docs/techref/backend) finden, wenn ich kein contenido-CMS verwende/besitze?
Die ist dann nicht für Dich relevant (-> tinyMCE WiKi enthält alle Infos).

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Don Quijote
Beiträge: 3
Registriert: Mo 22. Okt 2007, 08:35
Kontaktdaten:

Beitrag von Don Quijote »

Ist mir schon klar, dass Ihr (Du) nicht jedes einzelne kleine Detail von TinyMCE kennt...
und ich kenne Contenido nicht (wir haben ein eigenes CMS), deshalb dachte ich, dass hier vieleicht jemand Rat weiss!
Danke jedenfalls für die Hilfestellung!!!


Zu deinem Code-Schnipsel:
Wenn ich das richtig sehe, frisst dein Editor alles, was du ihm vorwirfst, oder?

Code: Alles auswählen

'valid_elements': '*[*]', 'extended_valid_elements': '*[*]'
Also auch <br> und <input ...> statt <br /> und <input ... />. Dies ist somit nicht mehr XML-konform.
Da ich dies mit den STYLE-Tags nur in einem einzelnen Fall benötige, wäre es schade, dies komplett abzuschalten(resp. alles zu erlauben).

Gruss Don Quijote
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Na ja, zunächst kannst Du ja mal testen, ob es dann überhaupt geht.

tinyMCE sollte eigentlich von Natur aus XHTML erzeugen, oder?

Gruß
HerrB

P.S.: Reine Neugier: Und, welches CMS?
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Antworten