Antworten auf deine Fragen:
Neues Thema erstellen

Homepage Farbe Ändern

Poki29

Ps-ler ;-)

Hallo,

ich möchte, dass man bei meiner Homepage die farbe ändern kann. Eine Möglichkeit zwischen den Stylesheets zu switchen habe ich bereits:

Code:
<a href="" onclick="setActiveStyleSheet('farbe01'); return false;"><img src="" alt="farbe" width="22" height="14" class="pick" /></a>
Jetz möchte ich aber, dass mein Menü auch die Farbe ändert. Das menu befindet sich in <ul><li> Tags
und hat jeweils Rolloverbuttons (also 2 Bilder pro Button). Ich weiß leider nicht wie ich es machen
kann, dass die sich mit ändern.

Da ich das Menu eh über php auslagere wäre es toll wenn er halt jeweils aufdie ausgelagerte .html Datei zurückgreift.

Code:
<?php
   include('includes/menu_blau.html');
?>

oder halt

<?php
   include('includes/menu_rot.html');
?>

Über Hilfe würde ich mich sehr freuen.

mfG Poki
 
Zuletzt bearbeitet:

Rum0

PSler

AW: Homepage Farbe Ändern

Ich würde das ganze weder mit PHP machen, ncoh ganze STylesheets ändern...
HTML:
<script type="text/javascript">
function aender_farbe() {
  document.getElementById("menue").style.background-color = "yellow";
}
</script>


So würd ichs amchen.... Das kannst du genauso in Links einbauen wie dein SwitchActiveStylesheet...
Einfach Funktion im Header definieren...
Und dann im Link auf die Funktion verweisen und false returnen Rum0
 

Chriss1987

me.drinkCoffee();

AW: Homepage Farbe Ändern

Ich würde das ganze weder mit PHP machen, ncoh ganze STylesheets ändern...
HTML:
<script type="text/javascript">
function aender_farbe() {
  document.getElementById("menue").style.background-color = "yellow";
}
</script>


So würd ichs amchen.... Das kannst du genauso in Links einbauen wie dein SwitchActiveStylesheet...
Einfach Funktion im Header definieren...
Und dann im Link auf die Funktion verweisen und false returnen Rum0

Hi,

und bei einem reload ist die eingestellte Farbe wieder weg...

@Poki29: dein Ansatz war schon nicht ganz verkehrt. Macht die JS-Funktion einen reload oder ändert die nur die Farbe?

Vorschlag: reload der Seite und Übergabe der Farbe/des Styles per GET oder POST übergeben und dann Abfragen. Um die Auswahl zu speichern, Session und/oder Cookie verwenden. ;-)

Ein einfaches Beispiel:
PHP:
<?php
session_start();

if (isset($_GET['style']))
    {
        $style = $_GET['style'];
    }
else if (isset($_POST['style']))
    {
        $style = $_POST['style'];
    }
else if (isset($_SESSION['style']))
    {
        $style = $_SESSION['style'];
    }
else if (isset($_COOKIE['style']))
    {
        $style = $_COOKIE['style'];
    }
else
    {
        $style = "default";
    }

$_SESSION['style'] = $style;
setcookie("style", $style);

switch ($style)
    {
        case "rot":
            include 'styles/rot.php';
            break;
        case "blau":
            include 'styles/blau.php';
            break;
        case "gruen":
            include 'styles/gruen.php';
            break;
        default:
            include 'styles/grau.php';
            break;
    }
?>

Die Anweisung zum setzen eines Cookies MUSS vor allen Ausgaben stehen, d.d. es wäre am Besten, wenn, zumindest der obere Block bis setcookie() ganz oben in der Datei.

Schöne Grüße aus dem Sauerland!
Chriss
 

Rum0

PSler

AW: Homepage Farbe Ändern

Dein Einwand ist zwar berechtigt, das war aber bei seiner bisherigen Funktion auch nicht anders, oder? Die arbeitet übrigens ohne reload, deswegen das return flase... Glaube ich....
Deine Version gefällt mir gut, aber das mit dem Cookie finde ich überzogen... Und man muss immer bedenken, dass manche Leute keine Cookies aktiviert haben... Und wenn jede Seite, die ich besuche, ohne mich zu fragen, ein Cookie zum Speichern des Styles setzen würde, dann wär meine Coolieskapazität ganz schnell voll.. Also dann doch lieber die Session, oder bei jeder Url den Style mit geben...

Rum0
 

Chriss1987

me.drinkCoffee();

AW: Homepage Farbe Ändern

Dein Einwand ist zwar berechtigt, das war aber bei seiner bisherigen Funktion auch nicht anders, oder? Die arbeitet übrigens ohne reload, deswegen das return flase... Glaube ich....
Deine Version gefällt mir gut, aber das mit dem Cookie finde ich überzogen... Und man muss immer bedenken, dass manche Leute keine Cookies aktiviert haben... Und wenn jede Seite, die ich besuche, ohne mich zu fragen, ein Cookie zum Speichern des Styles setzen würde, dann wär meine Coolieskapazität ganz schnell voll.. Also dann doch lieber die Session, oder bei jeder Url den Style mit geben...

Rum0

Hi Rumo0,

du hast Recht, man kann den Part mit dem Cookie weglassen, wobei nur ein einzelnes Cookie angelegt und jedes mal überschrieben wird. Wollte im Beispiel nur alle Möglichkeiten aufzeigen! ;-)

Schöne Grüße aus dem Sauerland!
Chriss
 

Poki29

Ps-ler ;-)

AW: Homepage Farbe Ändern

@Rum0 Danke für deine Antwort, aber ich möchte nicht nur die Bg-Farbe ändern sondern auch andere Sachen daher muss das mit den Stylesheets schon sein.

@Chriss Danke für den Vorschlag, das sieht gut aus, nur muss ich mich leider erst reinlesen, da ich keine wirkliche Ahnung von Php habe (Hab einfach noch nicht die Zeit gefunden das zu lernen)

Code:
[COLOR=#000000][COLOR=#007700]switch ([/COLOR][COLOR=#0000BB]$style[/COLOR][COLOR=#007700]) 
    { 
        case [/COLOR][COLOR=#DD0000]"rot"[/COLOR][COLOR=#007700]: 
            include [/COLOR][COLOR=#DD0000]'styles/rot.php'[/COLOR][COLOR=#007700]; 
            break; 
        case [/COLOR][COLOR=#DD0000]"blau"[/COLOR][COLOR=#007700]: 
            include [/COLOR][COLOR=#DD0000]'styles/blau.php'[/COLOR][COLOR=#007700]; 
            break; 
        case [/COLOR][COLOR=#DD0000]"gruen"[/COLOR][COLOR=#007700]: 
            include [/COLOR][COLOR=#DD0000]'styles/gruen.php'[/COLOR][COLOR=#007700]; 
            break; 
        default: 
            include [/COLOR][COLOR=#DD0000]'styles/grau.php'[/COLOR][COLOR=#007700]; 
            break; 
    }

Wie kann ich es Machen dass die hier benutzte Variable bei meiner Form oben gesetzt wird? Mit den Cookies das ist mir momentan auch noch ein bisschen zu viel
[/COLOR][/COLOR]
 
Zuletzt bearbeitet:

Rum0

PSler

AW: Homepage Farbe Ändern

@Rum0 Danke für deine Antwort, aber ich möchte nicht nur die Bg-Farbe ändern sondern auch andere Sachen daher muss das mit den Stylesheets schon sein.

@Chriss Danke für den Vorschlag, das sieht gut aus, nur muss ich mich leider erst reinlesen, da ich keine wirkliche Ahnung von Php habe (Hab einfach noch nicht die Zeit gefunden das zu lernen)



Wie kann ich es Machen dass die hier benutzte Variable bei meiner Form oben gesetzt wird? Mit den Cookies das ist mir momentan auch noch ein bisschen zu viel
[/color][/color]
Du musst an den Link zur Datei ?style=rot etc. anhängen...
also z.B.
HTML:
<a href="index.php?style=rot" alt="Roter Style">Roter Style</a>
Dann kannst du die Variable in PHP mit
PHP:
$_GET['style']
auslesen...

Rum0
PHP:
default: 
include 'styles/grau.php'; 
break;
bedeutet, dass wenn die variable nicht an die Url angehängt wurde oder sie weder rot noch grün noch blau ist, standardmäßig grau geladen wird...
 
Zuletzt bearbeitet:

Poki29

Ps-ler ;-)

AW: Homepage Farbe Ändern

Wie gesagt bin ich leider gottes noch nicht fit mit Php könntest du es vllt mal konkret machen an folgenden Beispiel:

2 Bildchen die man klickt (eines für rot, eines für blau)

Wenn ich mein Bild klicke soll er folgendes tun:
-Ein neues Stylesheet laden(Pfad z.B: css/rot.css
-Das ausgelagerte Menü (Pfad z.B. : includes/menu_rot.html)

default (also Start sollte einfach mal rot sein

Ich weiß, dass ich was viel verlange...
Aber aufjedenfall schonmal Dank für eure Hilfe bisher.


mfg Poki
 

Chriss1987

me.drinkCoffee();

AW: Homepage Farbe Ändern

Hi,

es könnte dann in etwa so aussehen:
PHP:
<?php
session_start();

// wurde ein Style übergeben, oder ist bereits eins ausgewählt worden?
if (isset($_GET['style']))
    {
        $style = $_GET['style'];
    }
else if (isset($_SESSION['style']))
    {
        $style = $_SESSION['style'];
    }
else
    {
        $style = "rot";
    }

// Style für die Sitzung speichern
$_SESSION['style'] = $style;

// prüfen, welcher Style ausgewählt wurde
switch ($style)
    {
        case "blau":
            // Menü-Inhalt in einer Variablen speichern
            $menue = file_get_contents('includes/menu_blau.html');
            // Pfad für die CSS-Datei
            $css = "css_blau.css";
            break;
        default:
            // Menü-Inhalt in einer Variablen speichern
            $menue = file_get_contents('includes/menu_rot.html');
            // Pfad für die CSS-Datei
            $css = "css_rot.css";
            break;
    }
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="<?php echo $css; /* CSS einbinden */ ?>" />
</head>
<body>
weiterer Text...

<div id="menue"><?php echo $menue; /* Menü einbinden */ ?></div>

Content und so...

<a href="?style=rot">Style rot</a>||<a href="?style=blau">Style blau</a>

</body>
</html>

Als Link könntest du auch Bilder einbinden!;)

Schöne Grüße aus dem Sauerland!
Chriss
 
Zuletzt bearbeitet:

Poki29

Ps-ler ;-)

AW: Homepage Farbe Ändern

Danke! Klappt alles super, nur wenn ich von dieser Seite einen Link mache nimmt er wieder die defaultfarbe, das ist nicht gut :-(

Ein Cookie zu setzen hab ich versucht, klappt aber noch nicht. Außerdem muss man Cookies ja auch aktiviert haben...

Ich könnte mir aber vorstellen dass man die Variable in eine Mysql Datenbank speichert. Ein solche habe ich nämlich.
 
Zuletzt bearbeitet:

devilofcrash007

Nicht mehr ganz neu hier

AW: Homepage Farbe Ändern

Hi,

es könnte dann in etwa so aussehen:
PHP:
<?php
session_start();

// wurde ein Style übergeben, oder ist bereits eins ausgewählt worden?
if (isset($_GET['style']))
    {
        $style = $_GET['style'];
    }
else if (isset($_SESSION['style']))
    {
        $style = $_SESSION['style'];
    }
else
    {
        $style = "rot";
    }

// Style für die Sitzung speichern
$_SESSION['style'] = $style;

// prüfen, welcher Style ausgewählt wurde
switch ($style)
    {
        case "blau":
            // Menü-Inhalt in einer Variablen speichern
            $menue = file_get_contents('includes/menu_blau.html');
            // Pfad für die CSS-Datei
            $css = "css_blau.css";
            break;
        default:
            // Menü-Inhalt in einer Variablen speichern
            $menue = file_get_contents('includes/menu_rot.html');
            // Pfad für die CSS-Datei
            $css = "css_rot.css";
            break;
    }
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="<?php echo $css; /* CSS einbinden */ ?>" />
</head>
<body>
weiterer Text...

<div id="menue"><?php echo $menue; /* Menü einbinden */ ?></div>

Content und so...

<a href="?style=rot">Style rot</a>||<a href="?style=blau">Style blau</a>

</body>
</html>
Als Link könntest du auch Bilder einbinden!;)

Schöne Grüße aus dem Sauerland!
Chriss

danke Chriss, dein Post hat meine Website erweitert :)

Danke an dich
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.619
Beiträge
1.538.363
Mitglieder
67.540
Neuestes Mitglied
Alex Weidner
Oben