M
Marotzke
Guest
Hallo mal wieder!
Ich habe nach einem Tutorial - dürfte auch von hier sein, glaub ich (jedoch ist meine Variante ziemlich eigen modifiziert), einen PHP Stylesheet-Wechsler gebastelt. Der auch soweit grundlegend funktioniert. Jetzt zu meinem Problem:
Testet am vielleicht mal selbst, am besten mit Firefox/Opera:
Das Problem ist, dass er die zwei Styles genau vertauscht - "default", das ist der Style den ich gemacht habe. Der andere Style "new" ist einfach eine leere Datei (war bisher zu faul, reicht ja für Testzwecke). Wenn ich aber "default" im Fenster anwähle und den Button drücke, nimmt er einfach den anderen Stil. Ein weiteres Problem taucht ab und zu auf, wenn man dann in der Navigation rumfährt, dass er trotzdem wieder den Style wechselt.
Codeschnipsel:
----------------------------------------
(Das steht über dem HTML-Tag so ziemlich als erstes in der Datei)
(Das steht im Head-Bereich, da wo die Styles hingehören)
(Das steht im Body-Bereich im zugehörigen Div -Navigation)
----------------------------------------
Ich habe schon so einiges versucht (z.B. den Startstyle einfach auf "new" zu setzen - das ignoriert er aber völlig), aber nichts hat auch nur ansatzweise geklappt.
Was noch erwähnenswert ist:
In dem Tutorial hiessen die Dateien "1.css", "2.css", "3.css" - so kann ich meine natürlich nicht nennen; vor allem weil ich immer 2 pro Style brauche. Könnte der Fehler darin liegen, dass die Variable mit dem Text nicht klarkommt?
Eingeschobener Edit 1:
Wenn ich mir den Quellcode meiner Seite mal angucken, scheint der PHP-Code jedoch richtig konvertiert worden zu sein - die Dateinamen der CSS-Stile sind korrekt.
Eingeschobener Edit 2:
Der Einfachheit halber habe ich mal hier für die Codevorschau alle CSS-ID's und Klassen rausgenommen, die sind ja eh nur für die Optik da.
----------------------------------------
Falls jemand eine Idee hat, wie ich das fixen kann, wäre ich sehr dankbar.
Was dann noch toll wäre, wenn ich dem Dropdown-Feld sagen könnte, dass er nach Wahl eines Stylesheets auch den jeweiligen Namen als aktives Feld zeigen soll (bei C++ geht das beispielsweise sehr gut und einfach, aber wer wird denn Äpfel mit Birnen vergleichen wollen...)?
Danke schonmal im Vorraus
Ich habe nach einem Tutorial - dürfte auch von hier sein, glaub ich (jedoch ist meine Variante ziemlich eigen modifiziert), einen PHP Stylesheet-Wechsler gebastelt. Der auch soweit grundlegend funktioniert. Jetzt zu meinem Problem:
Testet am vielleicht mal selbst, am besten mit Firefox/Opera:
Das Problem ist, dass er die zwei Styles genau vertauscht - "default", das ist der Style den ich gemacht habe. Der andere Style "new" ist einfach eine leere Datei (war bisher zu faul, reicht ja für Testzwecke). Wenn ich aber "default" im Fenster anwähle und den Button drücke, nimmt er einfach den anderen Stil. Ein weiteres Problem taucht ab und zu auf, wenn man dann in der Navigation rumfährt, dass er trotzdem wieder den Style wechselt.
Codeschnipsel:
----------------------------------------
(Das steht über dem HTML-Tag so ziemlich als erstes in der Datei)
PHP:
/* Select stylesheet */
if( $_POST['buttonklick'] )
{
$chosenstyle = $_POST['selectstyle'];
setcookie("ssource_stylesheet", $chosenstyle);
}
(Das steht im Head-Bereich, da wo die Styles hingehören)
PHP:
<?php /* Static and global stylesheets */ echo '
<!-- Stylesheets -->
<link rel="stylesheet" type="text/css" media="screen" href="css/global_stylesheet.css" />
/* User selected stylesheets */
if( !isset($_COOKIE['ssource_stylesheet']) ){ $style = "default"; }
else{ $style = $_COOKIE['ssource_stylesheet']; }
echo '
<link rel="stylesheet" type="text/css" media="screen" href="css/'.$style.'_form_screen.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/'.$style.'_style_screen.css" />';
?>
(Das steht im Body-Bereich im zugehörigen Div -Navigation)
HTML:
<form action="" method="post">
<div>
<!-- Dropdownmenu for style selection -->
<select name="selectstyle">
<option value="default">Style (Default)</option>
<option value="new">Style (New)</option>
</select>
</div>
<div>
<!-- Button for confirming the selection -->
<input value="Confirm Style" type="submit" name="buttonklick" />
</div>
</form>
----------------------------------------
Ich habe schon so einiges versucht (z.B. den Startstyle einfach auf "new" zu setzen - das ignoriert er aber völlig), aber nichts hat auch nur ansatzweise geklappt.
Was noch erwähnenswert ist:
In dem Tutorial hiessen die Dateien "1.css", "2.css", "3.css" - so kann ich meine natürlich nicht nennen; vor allem weil ich immer 2 pro Style brauche. Könnte der Fehler darin liegen, dass die Variable mit dem Text nicht klarkommt?
Eingeschobener Edit 1:
Wenn ich mir den Quellcode meiner Seite mal angucken, scheint der PHP-Code jedoch richtig konvertiert worden zu sein - die Dateinamen der CSS-Stile sind korrekt.
Eingeschobener Edit 2:
Der Einfachheit halber habe ich mal hier für die Codevorschau alle CSS-ID's und Klassen rausgenommen, die sind ja eh nur für die Optik da.
----------------------------------------
Falls jemand eine Idee hat, wie ich das fixen kann, wäre ich sehr dankbar.
Was dann noch toll wäre, wenn ich dem Dropdown-Feld sagen könnte, dass er nach Wahl eines Stylesheets auch den jeweiligen Namen als aktives Feld zeigen soll (bei C++ geht das beispielsweise sehr gut und einfach, aber wer wird denn Äpfel mit Birnen vergleichen wollen...)?
Danke schonmal im Vorraus
Zuletzt bearbeitet von einem Moderator: