Autor Zpráva
JoE
Profil *
Dobrý den,
hledám už víc než půl dne nějaký funkční script na vypnutí a zapnutí CSS stylů. Nechci to řešit přes Javascript, ale přes PHP.

I tady jsem našel nějaký kód na vypnutí a zapnutí stylů (starý asi 7 let) a je samozřejmě nefunkční. Stahoval jsem další skripty různě z webů, ale co funguje mi vůbec nevyhovuje. Je pravda, že stačí zadat PHP Styleswitch do Googlu a najede mi spousta výsledků, ale většina z nich je nefunkční nebo jak píšu nevhodných.

Potřebuju na stránky dát klasický odkaz Vypnout styly, přičemž po stisknutí se objeví textová verze webu. Totéž na tu textovou dát Zapnout styly.

Kdyby jste mi mohli prosím poradit, kde najdu ověřenou, funkční a hlavně vhodnou verzi nebo nabídnout třeba i zdroják.

Dávám dohromady stránky obecního úřadu a musí tam tohle prostě být.
shaggy
Profil
JoE:
Dávám dohromady stránky obecního úřadu a musí tam tohle prostě být.
Nepoznám presne pravidlá prístupnosti platné v ČR, ale som si istý, že nič také tam nemusí byť. Stačí urobiť celú stránku tak, aby bola prístupná a netreba nič ďalšie vymýšľať.

I tady jsem našel nějaký kód na vypnutí a zapnutí stylů (starý asi 7 let) a je samozřejmě nefunkční.
Neverím tomu, že by bol nefunkčný. Buď používa zastaralé funkcie (ktoré sa ľahko dajú vymeniť za nové), alebo niečo robíš zle.
V princípe ide o to, že po stlačení odkazu "vypnúť štýly" si do cookie/session zapíšeš hodnotu a na jej základe budeš/nebudeš do šablóny doťahovať štýly (jednoducho nevypíšeš riadok, kde voláš externé štýly).
Ale toto sú základy, ktoré by človek, ktorý robí web pre obec mal vedieť.
DarkKnight
Profil
Šlo by to přes visibility: visible :-)
shaggy
Profil
DarkKnight:
Áno? A ako? Povedz nám, ako cez visibility vypneš všetky štýly?
Chro
Profil
JoE:
Na začátek úvodní a/nebo každé stránky, ještě před <html>:
<?php
if (isset($_COOKIE['styly']))
{
$styly = (int) $_COOKIE['styly'];
}
else
{
$styly= 0;
}
if (isset($_GET['styly']))
{
$styly = (int) $_GET['styly'];
setcookie('styly', $styly, time() + (60 * 60 * 24 * 365));
}
?>
Do hlavičky úvodní a/nebo každé stránky:
<?php
if ($styly === 0)
{
echo <<<EOT
<link rel="stylesheet" href="soubor.css" type="text/css">
EOT;
}
?>
Do těla úvodní a/nebo každé stránky:
<?php
if ($styly === 0)
{
$styly_prep = 1;
$styly_text = 'Vypnout';
}
else
{
$styly_prep = 0;
$styly_text = 'Zapnout';
}
echo <<<EOT
<a href="?styly={$styly_prep}">{$styly_text} styly</a>
EOT;
?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: