Template váltása PHP-val
A php segítségével könnyen megoldható, hogy egy lapon váltogatni lehessen a stílusok és template-k között (attól is függ hogy a css-ben csak a formázásra vonatkozó részeket tartjuk, vagy mondjuk CSS segítségével építettük fel az egész lapszerkezetet), erre találsz az itt következő leírásban egy lehetséges megoldást.
Hozz létre egy setup.php fájlt, melynek a tartalma az alábbi legyen!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <? session_start(); if ( ! session_is_registered("style") ) { session_register("style"); $_SESSION['style'] = "style1"; // set default stylesheet to use $user_style = $_SESSION['style']; } else { $user_style = $_SESSION['style']; } ?> |
Hozz létre egy új lapot style_setup.php néven, a tartalma pedig legyen
1 2 3 4 5 6 7 | <? session_start(); $_SESSION['style'] = $_GET['style']; header("Location: ".$_SERVER['HTTP_REFERER'] ); ?> |
Hozz létre egy új lapot bármilyen néven (mondjuk legyen p.php)!
A doctype előtt pedig szúrd be az a részt:
1 | <? require"./setup.php"; ?> |
Még mindig a p.php fájlba illeszd be
1 | <link href="<? echo $user_style ?>.css" rel="StyleSheet" type="text/css"> |
kódot a
és tag-ek közé1 2 3 | <head> <link href="<? echo $user_style ?>.css" rel="StyleSheet" type="text/css"> </head> |
Az a kódrészlet a szokásos link rel Stylesheet részlet helyett van a kódban.
A lépések vége fele közeledve már csak annyit dolgod maradt, hogy a lap (p.php) body részébe tegyél be selectort, amire kattintva váltani lehet majd a template-t.
1 2 3 | <a href="style_setup.php?style=style1">Style 1</a> | <a href="style_setup.php?style=style2">Style 2</a> | <a href="style_setup.php?style=style3">Style 3</a> |
Utolsó lépésként pedig készítsd el a CSS-eket, amik a template-eket fogja tartalmazni.
Nevezd el őket így:
- style1.css
- style2.css
- style3.css
A script letöltése
A template cserén kívül a fenti megoldás felhasználható pl. a nyelvek cseréjéhez is
- lang_en.php
- lang_fr.php
- lang_ge.php
A tutorialban lévő mintafájlokat tartalmazó csomag letöltése: cs.zip
Forrás: scriptsinclude.com

Twitter
Facebook
Digg
Delicious
Stumble
RSS
Helló,
Régóta keresek valami tutoriált, ahol megtudhatom, hogy miként lehet úgy megcsinálni egy template-t, hogy a lapszerkezetet is CSS-sel csinálom meg… CSS-sel tudok formázni, sőt kell is, de hogy építem fel vele az oldalt?
Vagy van már ilyen tutoriál, csak én nem találom?
(olyat szeretnék csinálni mint a joomla-nak van, hogy a template fájlok átírásával tudom módosítani az oldal teljes elrendezését is, nem kell hozzá módosítanom mindent… )
A fenti példa tökéletes erre. megcsinálod az alap html fájlt (php) és csinálsz hozzá a design tervből css-eket.
De úgy érzem ennél több kérdésed van… Ha tudsz css alapú designt csinálni, akkor elvileg a fentiek már egyértelműek kellenek hogy legyenek, mégha a php-hoz nem is értesz.
Igen, de ez a fenti példa csak a css-t változtatja meg, nem… azaz, hogy melyiket töltse be az oldal, az pedig nem adja meg a modulok elhelyezkedését… ?
És nekem az a gondom, hogy nem tudom megoldani azt, hogy ha “A” designben a baloldalon van egy menü, akkor “B” designben alul van a menü és ehhez csak a template fájlt keljen módosítani, ne pedig újraírni az egészet…
a CSS-ben kell meghatároznod hogy az a modul hol legyen, és akkor CSS váltáskor a modul is annak megfelelően változik.