Autor Zpráva
starburst
Profil
když udělam stranku tak jak mam udělat aby po kliknuti na odkaz se změnily všechny stranky co tam jsou ale jenom aby to bralo jiny externi soubor se stylama? jinak aby zustali naprosto stejny ty stranky? da se to nejak?
Casero
Profil
starburst
Třeba pomocí php.
starburst
Profil
a jak to udelat? ja pouzivam includy akorat ale jak udelat aby se zmenil jenom ten jeden klicovej radek? abych nemusel mit dalsich stopadesat stranek s jinym stylem...
souki
Profil
http://www.jakpsatweb.cz/javascript/priklady/styly-zamena.html
toxik
Profil *
a co tak pomoci css import ? ha ?
YoSarin
Profil
starburst
Includuj pořád jeden jedinej styl, ale s koncovkou php - a tam si třeba podle cookie načítej odpovídající styl a soubor posílej se správnou hlavičkou (text/css)
starburst
Profil
ja to porad nechapu...jako ta stranka co poslal souki je jasna a super ale kdyz potrebuji potom k tomu i neco jineho tak uz to nejde...jak mam includovat jeden styl s koncovkou php jak pise YoSarin? s cookie pracovat neumim:-( a nebo co pise toxik je sice hezky ale jak mam docilit toho aby se po kliknuti na odkaz prepsaly vsechny stranky a includovali jinej css? nebo jestli to jenom spatne chapu tak prosim o nejakej jednoduchej priklad...
souki
Profil
starburst
YoSarin popisoval úplně jinou možnost
starburst
Profil
a jakou moznost? trosku prosim pomozte...treba napiste priklad jak se to da udelat...
YoSarin
Profil
starburst
Nevýhoda JS možnosti je, že překlikneš styl a on se ti změní jen na dané stránce (AFAIK).
To co jsem psal já spočívá v následujícím:
- uživatel si vybere nějaký styl (klikne na odkaz a zapíše se mu cookie s odpovídající hodnotou)
- do stránek se připojí styl "styl.php"
- v souboru styl.php zjistím stav cookie a podle toho vložím odpovídající css soubor (třeba, nebo můžeš tahat z DB - záleží jak to máš vytvořený)

Existuje i možnost bez cookie - styl se bude předávat jako parametr:
- do stránek se připojí styl jako "styl.php?typ=styl1" a podle toho pak vkládat css soubor.
- při přechodu mezi stránkami si zase budeš muset nějak pamatovat hodnotu toho parametru

IMHO je nejlepší možnost asi s pomocí těch cookie - kdo je má vyplé tak holt bude o style switcher ochuzen, ale není to nic co by bylo nezbytné k běhu stránek
souki
Profil
YoSarin
A JS snad neumí cookie?
YoSarin
Profil
souki
To proto tam bylo to AFAIK :-)
Jestli umí cookie, tak ta nevýhoda odpadá - ale zase - kdo nemá JS zaplý, ten si nepřeklikne. Mě osobně to přijde přes PHP lepší (i když, jak vidím, ne nutné)
souki
Profil
YoSarin
Ale znamená to reload.... A nejdokonalejší řešení? Použít oboje :) Když nejde JS, tak se použije PHP.
Ale zase bych to s tou použitelností nepřeháněl... Je to jen alternativní vzhled...
starburst
Profil
vy se bavite jakym zpusobem to udelat...o to nejde...jak pise souki je to jenom alternativni vzhled takze kdyz to nekomu kdo má zakazany něco nepojede tak se nic nestane... ale jde mi o to... to jak popisoval YoSarin chapu jako princip ale nevim jak by mel vypadat zapis na strance a v souboru styl.php aby to umelo ulozit tu hodnotu a precist a vlozit... prosim aspon o cast kodu jak by to melo byt zapsany...
dekuji
YoSarin
Profil
starburst
Podívej se sem: http://cz2.php.net/manual/en/function.setcookie.php
tam se dozvíš jak uložit cookie v PHP,
nebo sem: http://developer.mozilla.org/en/docs/DOM:document.cookie
to samé v bledě modrém (ale přes JavaScript)

Co se týče zjištění hodnoty v cookie, tak:
buď v PHP - $_COOKIE['jmeno_kolacku'];
nebo v JS - tady to bude asi složitější (?), protože v document.cookie jsou všechny cookie uložené serverem - musí se z nich "vypreparovat" ta správná. Nevím - nikdy jsem to nedělal.

A zapsání stylu:
Opět buď v php ( <link rel="stylesheet" type="text/css" media="all" href="style.php" /> ) a v style php dát něco ve smyslu:
header("Content-type: text/css");

switch($_COOKIE['styl']){
case "styl1" :
echo "@import url('prvni_styl.css')";
break;
case "styl2" :
echo "@import url('druhy_styl.css')";
break;
default:
echo "@import url('default.css')";
break;
}
Nebo tak nějak.

V JS budeš podle té vyseparované cookie měnit připojený styl (např. na body onload).
Leo
Profil
"v document.cookie jsou všechny cookie uložené serverem"

I cookies ulozene jinym zpusobem, Leo
Toto téma je uzamčeno. Odpověď nelze zaslat.