Bir php site için kişiselleştirilmiş tema çeşit almak için en kolay yollarından biri, farklı temalar için farklı stil kullanmak ve kullanıcıların tarayıcı içine bunları saklamak için cookies. En ideal ama çoğu kullanıcı için işler değil.
Eğer default.css, theme1.css ve theme2.css adında 3 stil söylüyorlar.
default.css:
body {
color: blue,
background-color: white;
font-family: arial;
}
theme1.css:
body {
color: black,
background-color: yellow;
font-family: verdana;
}
İşte çıkışına bir örnek kod başka bir varsayılan birini kullanın çerezler saklanan ne bağlı olarak farklı biçembente link.
<head>
<?php
if (!isset($_COOKIE['siteTheme']))
echo '<link rel="stylesheet" type="text/css" href="/css/' . $_COOKIE["siteTheme"] . '" />";
else
echo '<link rel="stylesheet" type="text/css" href="/css/default.css" />';
?>
<!-- other elements in head -->
</head>
Kullanıcı tarafından seçilen temayı kaydetmek için, daha sonra çerezleri koyacaktır bir sayfaya açılan veya köprüler olabilir.
Bir köprü için "setTheme.php?theme=theme1
", "theme=theme2
" vs demek
Ya da açılan formu
<form method='get' action='/setTheme.php'>
<select name='theme' onchange='this.form.submit();'>
<option value='default'>default</option>
<option value='theme1'>Theme 1</option>
<option value='theme2'>Theme 2</option>
</select>
</form>
SetTheme.php sayfasında, aşağıdakileri ekleyin:
<?php
$expire=time()+60*60*24*30; //exipiry of the cookie
setcookie("siteTheme", $_GET["theme"], $expire); //store the selected theme to cookie
?>
Sonra yerine tema stil seçim kodu ile geri ana sayfasına bir bağlantı (yukarıda sağda ilk) var, ve bitirdiniz.
PS: tarayıcılar çerezler devre dışı bırakılmış ya da çerez desteği için çalışmaz.
Disclaimer: I've not tested the actual codes above, but conceptually it should work.