• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Dynamisches CSS und TinyMCE, Default Textfarbe ändern

Sefron

Neues Mitglied
Juten Tag liebe HML Community

Ich habe ein... derbst komisches Problem. Bin derzeit an einem eigenen CMS, welches TinyMCE als Editor benutzt. Ein dynamisch generiertes CSS wird mittels include Befehl erfolgreich geladen. Mit dem folgenden Code kann ich die Standardtextfarbe des Editors (Schwarz) erfolgreich auf Rot ändern:

body.mceContentBody
{
color:#FF0000;
}


Nun habe ich aber folgenden Code im dynamischen CSS (dynamicstylehandler.php):
body.mceContentBody
{
color:#<?php echo $_SESSION['color_mainframe']; ?>;
}

Nun, in beiden Fällen erscheint die Farbe FF0000 im CSS (also ob statische Eingabe des Farbwertes, oder durch die Sessionvariable, der Output ist FF0000).

Sobald ich die Sessionvariable-Variante nehme, wird der Farbcode zwar angezeigt, aber die Editortextfarbe ist weiterhin Schwarz.


Habe unterdessen genug gegoogelt und meistens lieferten die Suchresultate Problemlösungen die veraltet sind, bei meinen Gegebenheiten nicht passen oder schlicht und einfach nicht funktionieren.

a) Kann sich wer erklären, warum die zweite Variante nicht funktioniert, obwohl sie eigentlich funktionieren sollte?

b) Oder kennt wer ein Code mit welchem es einfach ist, mit meiner Farb-Sessionvariable die Standardschriftfarbe des Editors zu ändern?


Boah, ist mein erster Thread hier, seit also nicht zu hart mit mir :) Ergänzungen betreffs meinem Code werde ich auf Anfrage gerne posten.


Danke für Eure Hilfe,

Gruss, Sefron
 
naja ich nehme einmal stark an das deine CSS datei die endung .css hat?
wenn dies der fall ist, ist es verstaendlich das es nciht funktioniert.
PHP code hat in einer css datei nichts zu suchen.

wenn du willst das es funktioniert musst du die datei in eine php datei umaendern (also .php als endung). dann sollte es funktionieren.
 
wenn das so ist, musst du ja nur das gesamte CSS dort reinpacken.
wichtige stelle, da wo es dynamisch werden soll in php machen und fertig.

so musst du die css-datei dann einbinden:
Code:
    <style type="text/css">
            <? include("meindynamischescss.php");?>
        </style>

und in deiner datei musst du darauf achten das du alles richtig ausgibts.
 
@Puccini: Danke, aber die Datei wurde richtig eingebunden

Habe das Problem nach etlichen Stunden... auf eine etwas andere Art gelöst.

Dieses dynamische Stylesheet wurde 2mal eingebunden. Das 1. mal von mir, sprich als CSS für die Webseiten/CMS und das 2. von einem nicht sichtbaren iframe des TinyMCE Editors.

Das Problem war, dass ich bei der 2. Einbindung praktisch keine Kontrolle über die Übergabeparameter des Stylesheets hatte.

Die Lösung:
Habe per fopen ein separates Stylesheet mit den dynamischen Farben, abgeleitet von der dynamicstylehandler.php, erstellen müssen und dieses spezifische Farb-CSS dem Editor übergeben. Hat soweit prima funktioniert!
Nun muss der TinyMCE nicht mehr mit Sessionvariablen arbeiten und kann sich bequem der statisch generierten Stylesheets orientieren.

Ein weiteres Problem, im Post nicht erwähnt, war der transparente Hintergrund in TinyMCE. Habe dazu gelesen, dass man einige Werte in der "ui.css" anpassen muss. Für FF kein Problem, aber IE benötigte noch eine Zusatzangabe des iframes. Dazu wurde der tiny_mce_scr.js eine zusätzliche Codezeile verpasst:

Zeile 8640: document.getElementById(t.id + "_ifr").setAttribute("allowTransparency","true");


Kleine Anmerkung: Scheinbar scheinen viele TinyMCE Benutzer diese Probleme zu haben. Doch google spuckt betreffs diesem "dynamischen Problem" nur Bullsh*t aus! Falls ich in nächster Zeit "etwas mehr frei habe", werde ich mich bemühen, ein ausführliches Tutorial zu diesem Thema zu schreiben.

Topic kann geclosed werden, danke :)
 
Zurück
Oben