System zmiany layoutów
Przedstawię tutaj, jak stworzyć wygodny system zarządzania skórkami (skinami, layoutami - jak kto woli na własnej stronie. Przyjmujemy, że każda ze skórek ma taka samą budowę, a zmieniają się jedynie grafiki i kolory różnych elementów.
Pliki graficzne każdego layoutu trzymamy w folderach gfx/LayZielony, gfx/LayNiebieski, itp. W każdym z tych folderów przechowujemy również plik config.php z nazwami kolorów, bądź innymi elementami, które mogą ulec zmianie.
Struktura strony
Kod przykładowego pliku config.php:
![]()
$kolor_tla="navy";
![]()
Kolejna rzecz, którą się zajmiemy to napisanie kodu HTML strony z małymi wstawkami PHP, które będą powodowały zmianę grafik odpowiednio do wyboru użytkownika.
Poniżej kod przykładowego pliku index.php:
![]()
include "lay.php";
![]()
<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
</head>
<body bgcolor=" echo $kolor_tla; ">
![]()
include "wybierz.php";
![]()
<table border="0">
<tr>
<td background="gfx/ echo $lay_path; /menu.gif">
<a href="index.php">index</a><br>
Tresc menu
</td>
<td background="gfx/ echo $lay_path; /txt.gif">
Tresc strony
</td>
</tr>
</table>
</body>
</html>
Skrypt PHP
Teraz kod pliku wybierz.php, którego zadaniem jest wyświetlić formularz z polem SELECT, zawierającym wzystkie nazwy katalogów.
<form action="index.php" method="post">
<select name="lay">
![]()
// otwieramy katalog i wypisujemy z niego nazwy wszystkich folderów, ktore sie w nim znajdują
if ($handle = opendir("gfx")) {
while (false !== ($file = readdir($handle))) {
if($file!=".." and $file!="."){
echo "<option>$file</option>";
}
}
closedir($handle);
}
![]()
![]()
</select>
<input type="submit" value="ok">
</form>
I najważniejsza część skryptu, która dostosuje wratość zmiennej $lay_path do wybranej przez użytkownika skórki i zaincluduje odpowiedni plik config.php. Plik lay.php:
![]()
if(isset($_POST['lay'])){
if(is_dir("gfx/$lay_path")){
$lay_path=$_POST['lay'];
setcookie("czlay",$lay_path,time()+100000); // ustawiamy ciasteczko z nazwa skinu
}
else{
$lay_path="aa"; //nazwa domyslnego skinu
}
}
else{
if(isset($_COOKIE['czlay'])){
$lay_path=$_COOKIE['czlay'];
}
else{
$lay_path="aa"; //nazwa domyslnego skinu
}
}
include "gfx/$lay_path/config.php";
![]()
Odpalamy skrypt
Źródełko możecie pobrać stąd.










