Schriftfarbe per Admin-Bereich ändern

stonk

Erfahrenes Mitglied
Hi,

Ich arbeite gerade an einem Adminbereich wo man die Seite optimal und Userfreundlich anpassen kann.
Nun möchte ich auch das die Schriftfarbe verändert werden kann. Dazu müsste ich ja den Inhalt der CSS Datei dynamisch anpassen können.
Hab mir mal die funktionen wie fopen() und co. angeschaut. Wäre aber recht mühseelig um die Werte immer so zu ändern! Gibt es eine möglichkeit dies anders zu lösen? Irgendwie mit Variablen oder so?

Besten Dank an alle!
gruss stonk
 
Du koenntest die User-Einstellungen in einer Datenbank speichern und das CSS komplett durch PHP erstellen lassen.
Meine CSS-Datei wird auch durch PHP erstellt.

Das steht in meinem HTML-File:
HTML:
<link rel="stylesheet" type="text/css" href="layout.php">

Und so geht's in layout.php los:
PHP:
<?php
require_once("csscheck.php");
header("Content-Type:text/css");
?>
body

	{

		background-color:#29425a;
		font-size:12px;

		font-family:Arial,Verdana,Sans-Serif;

	}
<?php
if ($browser!="Internet Explorer")
	{
?>
.list-item:hover
	{
		background-color:#29425a;
	}
<?php
	}
?>
In csscheck.php wird lediglich kurz der User-Agent gecheckt um dem IE eine Extrawurst braten zu koennen.
 
Wozu sollte geprüft werden, ob der Browser ein Browser ist, der die CSS-Regel Foobar nicht interpretieren kann oder nicht? Werfen wir es ihm doch einfach zum Fressen vor und es wird geschluckt oder nicht.
 
Okay, das Beispiel war nicht gerade herausragend, aber wie sieht es damit aus? ;)
PHP:
<?php
if ($browser=="Internet Explorer")
	{
?>
		z-index:-1;
<?php
	}
else
	{
?>
		z-index:1;
<?php
	}
?>

	}
Hier hab ich ja eine klare Entweder/Oder-Entscheidung.
Aussederm ging es ja auch nur darum ihm aufzuzeigen, dass man CSS dynamisch per PHP generieren kann.
 
Ich denke er sucht eher sowas wie dieses Beispiel hier (wenn das so geht, werd ich es demnächst auch benutzen :D)
PHP:
<?php
echo "td {
color: ".$td_color.";
font-style: ".$td_font_style.";
}";
?>
Wenn man diese PHP Datei wie ne CSS Datei einbinden würde, also mit
Code:
<link rel="stylesheet" href="style.php">
wäre das ja geritzt ;)

Habe das nicht ausprobiert !


Gruß Radhad

PS: Die Variablen könnte man dann z.B. aus ner Tabelle holen... Aber imo ist das, ich sag mal, ne Vage Theorie.

PPS: Wenn man die Datei im Head-Bereich included, müsste das doch auf jeden fall gehen! Oder?
 
Zuletzt bearbeitet:
@Radhad:
Ich sehe da keinen prinzipiellen Unterschied zu Dennis Beispiel...

Aber lohnt es sich, bei jedem neuen Aufruf der Seite (also keine .css im Browsercache) den Stylesheet dynamisch zu generieren, wenn man so das Verhältnis Häufigkeit der Stylesheetänderungen - Seitenaufrufe betrachtet ? Jedenfalls finde ich es einen großen Aufwand, nur um die Browserkompatibilität schon ab Server herzustellen...
 
Es ging ja dem Thread-Ersteller nicht um die Kompatibilitaet zu verschiedenen Browsern (oder eben hauptsaechlich der guten, alten Extrawurst fuer den IE) sondern darum, dass User eigene Einstellungen vornehmen koennen und diese im erstellten StyleSheet eingetragen werden.
 
Die einzigen Applikationen, die ich kenne, die das gezielte Ändern der Schriftfarbe über Formulare anbieten, sind Foren-Systeme. Ehrlich gesagt, halte ich diese Methode für äußerst unflexibel, da diese Werte zumeist auch direkt in den Quellcode eingebettet wird. Würde das Ganze mit CSS formatiert, wäre es weitaus flexibler.
 
Deswegen gab ich ja das Beispiel mit dem PHP Code, der am Ende CSS ausgibt. So könnte man pro User einen Style speichern. Und der Unterschied ist schon groß zwischen meiner Lösung und der von Dennis, da ganz andere Sachen gemacht werden.

Außerdem fragt stonk nicht nach ner Lösung, wie ich etwas Unterschiedliches für unterschiedliche Browser anzeigen kann, sondern wie man die Formatierung per Formular ändern kann, wie Gumbo es richtig erkannte. Daher mein Vorschlag, mittels PHP die CSS-Datei zu machen, oder halt mit fopen(), was ich aber weitaus schwieriger finde, da man ja die CSS-Syntax einhalten sollte.



Gruß Radhad
 
Zurück