Autor | Zpráva | ||
---|---|---|---|
PHP_Nemaster Profil |
#1 · Zasláno: 26. 12. 2011, 12:00:31
Dobrý den,
dělám redakční systém, ale nevím, jak vyřešit, aby si uživatel mohl nastavovat v nastaveních např. šířku menu, barvu pozadí, písmo apod. na své stránce. Pokud znáte, chtěl bych udělat něco jako má blog.cz. Tam pravděpodobně uživatel upraví např. šířku menu, a podle toho PHP upraví CSS soubor. Ale jak to udělat? CSS má syntaxi: parametr: hodnota, jak nastavit pomocí třeba zapisování do souboru konkrétní hodnotu na konkrétním řádku? Předem děkuji za odpověd' |
||
BuGeR Profil |
#2 · Zasláno: 26. 12. 2011, 12:26:19
Buď přes interní styl, kde si ty barvy vypíšeš do <style> přímo na stránce, nebo si udělej php soubor, hlavičku (header) nastav na
content-type: text/css a do něho vlož ty styly, které můžeš například čerpat z databáze.
Výstup se bude chovat jako klasický css soubor, akorát bude mít příponu .php, pokud budeš chtít příponu .css tak použij mod_rewrite |
||
Chro Profil |
#3 · Zasláno: 26. 12. 2011, 12:32:43
PHP_Nemaster:
Lze to udělat v zásadě dvěma způsoby. 1. Každý uživatel získa defaultní CSS soubor. Ten si bude moct celý editovat (kód) ve formuláři a uložit. 2. Vývoj průvodce nastavení ve smyslu "tady zatrhni, z tohohle vyber, tamhle odklepni". Z dat posléze vytvořit nový CSS soubor a uložit. |
||
Str4wberry Profil |
Musíš na to jít jinak.
1) Uživatel bude mít nějaký formulář, kam zadá „šířku menu, barvu pozadí, písmo apod.“ a ty mu z toho vygeneruješ CSS typu: $cssText = "menu {width: " . $zadanaSirka . "; color: " . $zadanaBarva . "}"; $cssText.= "body {background: " . $zadanePozadi . "}"; 2) Nebo třeba uživateli uložíš do databáze jednotlivé styly a v PHP souboru (jak píše BuGeR) je z ní vybereš, sestavíš z nich CSS a přilinkuješ do stránky jako CSS (Případně z databáze vygeneruješ styl interní). Můžeš použít něco jako CSS šablonu: menu {width: <?=$zadanaSirka?>; color: <?=$zadanaBarva?>} /* atd. */ Ještě dej pozor na ošetření vstupů. |
||
PHP_Nemaster Profil |
#5 · Zasláno: 26. 12. 2011, 20:01:11
Str4wberry:
Děkuji, chtěl bych to udělat jako to 1), ale jak to uložit? |
||
Str4wberry Profil |
#6 · Zasláno: 26. 12. 2011, 20:04:05
Třeba funkcí
file_put_contents .
|
||
Časová prodleva: 12 let
|
0