Autor | Zpráva | ||
---|---|---|---|
Joan Profil |
#1 · Zasláno: 16. 4. 2010, 10:25:23
Stále mi vrtá hlavou jak překopat svoje html stránky s tím, aby se includoval obsah, ovšem v mém případě to možná asi ani nepůjde:
mám titulní stránku hodně odlišnou od ostatních stránek (přebal knihy taky vypadá zcela jinak než pohádky v ní, že) a zdrojový kód hlavního menu je sice úplně stejný na všech stránkách, ale na titulní stránce má vertikální tvar s id="menu" a na ostatních stránkách horizontální tvar s id="drobecky" právě kvůli odlišnému stylování potažmo vzhledu. Je možné nějak php říct, aby při includování obsahu nějaké podstránky nahradil v šabloně (obsahující menu a paticku) to menu s id="menu" za jinak stylované menu s id="drobecky"? Jinými slovy, opravdu jediný prvek, který se mi opakuje naprosto na všech stránkách, je pouze patička. Pouze titulní stránka má menu s id="menu" a 27 podstránek má menu s id="drobecky". Zatím includuji místo obsahu to, co se opakuje, změnit to na vkládání obsahu zde asi nepůjde, že? Díky za názor! |
||
Citanek Profil * |
#2 · Zasláno: 16. 4. 2010, 10:36:55
jistě že se to dá, nejjednoduší to asi bude přes funkci if
|
||
Joan Profil |
#3 · Zasláno: 16. 4. 2010, 10:46:13
Aha, takže je možné do php zakomponovat funkci IF je vkládána stránka "A" includuj menu s id="menu" ELSE includuj menu s id="drobecky"? Snese se uprostřed php scriptu funkce IF s CSS?
|
||
Joker Profil |
#4 · Zasláno: 16. 4. 2010, 10:51:42
Joan:
Rozumím tomu dobře, že když vnitřek menu označím jako "{MENU}", tak jsou dva druhy stránek, jeden má něco jako: <ul id="menu">{MENU}</ul> <ul id="drobecky">{MENU}</ul> Napadá mě několik možností řešení: 1. použít IF: if(stranka == "neco") vloz_nejake_menu(); else vloz_jine_menu(); 2. Vybrat do šablony jen to co je stejné, tj. ten vnitřek. 3. Pokud jsou stránky dělané ze šablon a jedna (nebo několik) má tu samou strukturu jako ostatní, ale je potřeba ty prvky jinak nastylovat, není nezbytné jim dávat jiné CSS třídy. Stačí dát nějakou třídu na body a pak to vyřešit v CSS. Příklad: Speciální stránka bude mít třeba <body class="specialnistranka">
a CSS: ul.menu { /* nějaký styl */ } .specialnistranka ul.menu { /* jiný styl */ } |
||
Joan Profil |
#5 · Zasláno: 16. 4. 2010, 11:03:31 · Upravil/a: Joan
Joker:
Přesně tak! Na této stránce mám vlevo menu vertikální obrázkové a na všech dalších ostatních je menu horizontální a záložkové (tmavozelené). ad 1. za to "neco" vložím název_stránky.php? ad 2. a ad 3. však vnitřek menu stejný je úplně všude jen potřebuji php napovědět, kdy chci vkládat určitým způsobem stylované menu a kdy zase jiným způsobem stylované tj. aby to obrázkové nenačetl do stránek, kde chci záložkové (a naopak) Ještě prosím důležitý dodatek: 1) je možné od PHP chtít, aby při vkládání obsahu nějaké podstránky "stáhl" s sebou i hlavičku k dané stránce? Protože kvůli mému způsobu kódování/stylování není možné vložit obsah i s hlavičkou jako jeden celek (hlavičku má každá stránka jinou) 2) jak se includuje obsah v případě stránky obsahující podmíněné komentáře v hlavičce? Je možné spojit je s tagem <title> a podle nějakého pravidla vkládat do té které stránky? Díky moc! |
||
panther Profil |
#6 · Zasláno: 16. 4. 2010, 12:14:03
Joan:
„jen potřebuji php napovědět, kdy chci vkládat určitým způsobem stylované menu a kdy zase jiným způsobem stylované“ stačí měnit id/class. V CSS budou obě třídy/idčka ostylovaná, použije se příšlušný styl. „není možné vložit obsah i s hlavičkou jako jeden celek (hlavičku má každá stránka jinou)“ jde ti o title a metatagy, že? Nejlépe titulky, descriptiony a keywords naházet do polí, jak je tomu ve FAQ. „2) jak se includuje obsah v případě stránky obsahující podmíněné komentáře v hlavičce?“ Podmíněné komentáře můžou být přilinkovány i na stránce, kde nejsou změny pro IE třeba, ne? Jinak to lze řešit taky podmínkou if($stranka == 'neco') echo "<link podmineny-styl.css>"; |
||
Joan Profil |
#7 · Zasláno: 16. 4. 2010, 12:41:10
Díky!
- takže to či ono konkrétní ID lze vložit přímo do scriptu php? - pole nastuduji - já ale nemám pro podminěné komentáře extra styl, píšu to pro mou větší přehlednost přímo do hlavičky. Navíc myslím nemám ani jednu stránku která by se bez podmíněných komentářů pro IE6-IE8 obešla takže mám podmíněné komentáře prakticky všude. Šlo by nejen titulek, ale rovnou celou hlavičku považovat za jeden z prvků pole? |
||
panther Profil |
#8 · Zasláno: 16. 4. 2010, 12:42:59
Joan:
„- takže to či ono konkrétní ID lze vložit přímo do scriptu php?“ tak „Navíc myslím nemám ani jednu stránku která by se bez podmíněných komentářů pro IE6-IE8“ nekoukal jsem, co tam hackuješ, možná by to šlo zredukovat. „Šlo by nejen titulek, ale rovnou celou hlavičku považovat za jeden z prvků pole?“ ano lze, ale je to zbytečné. Proměnlivé budou, předpokládám, jen ty tři prvky (title, kw, desc), ne? |
||
Joan Profil |
#9 · Zasláno: 16. 4. 2010, 13:04:28
K obrázkům s paddingem se chová minimálně IE6 odlišně než Mozilla & spol. a takovéto obrázky mám na každičké stránce takže bez podm. komentářů jsem se bohužel nehnula z místa. Prinejhorším je vyexportuju do samostatného stylu. Navíc na každé stránce používám podm. komentář k odstřižení od IE menších než IE6 protože se tam na moje stránky nedalo koukat a stylovat pro IE5.5 a nižší se mi nechce.
Teď jsem si ale uvědomila, že jsem napsala blbost: chtěla jsem napsat, že bych potřebovala, aby includovaný obsah s sebou "stáhl" nikoliv hlavičku, ale ZÁHLAVÍ které mám úplně oddělené od obsahu čili jedno include obsahu by mi velmi pravděpodobně zamíchalo záhlaví do obsahu což pochopitelně nechci. (Pozn.: mám na hlavní stránce záhlaví, pod tím obsahovou část, v jejímž paddingu vlevo je menu a vpravo další odkazy a dole patičku. Takže samotné záhlaví nemůžu k obsahu přilepit). No budu přes víkend laborovat, co všechno mi moje soubory a dosavadní pidiznalosti dovolí :-) |
||
AM_ Profil |
#10 · Zasláno: 16. 4. 2010, 14:20:07
Joan:
Především si nastuduj něco o základním principu PHP - jde o to, že se chová jako (textový) preprocesor - textový v závorce, protože může generovat např. i obrázky, a teoreticky i jakákoli jiná data. Pokud máš na serveru soubor s koncovkou PHP, který někdo otevře v prohlížeči, stane se toto: - prohlížeč vyšle žádost o tento soubor - server zjistí, že má koncovku .php, a soubor zpracuje PHPkem - v tuto chvíli je úplně jedno, jestli je v něm krom PHP HTML, CSS, JavaScript nebo klidně i obrázek - vše mimo bloky <?php ?> se odešle na výstup tak, jak to je - výsledek zpracování PHP (který už žádný PHP kód neobsahuje, už se jedná o data v cílovém formátu - HTML, CSS, obrázek...) je odeslán do prohlížeče. Když tohle pochopíš, hodně ti to pomůže v tom, co v PHP jde a nejde a jak to přibližně dělat. |
||
Joan Profil |
#11 · Zasláno: 16. 4. 2010, 14:30:14
Já rozumím tomu, že co je mimo značky <?php a ?> tak na to server nesahá a že ve výstupu zpět do prohlížeče žádný php script vidět není. Nikde jsem se ale nedočetla, jestli může být mezi značkami <?php a ?> taky něco z kaskádových stylů, ukázkové scripty vzhled vůbec neřešily. Proto jsem se zeptala. Když to jde, tím lépe :-)
Hezký víkend |
||
Joker Profil |
#12 · Zasláno: 16. 4. 2010, 14:59:58
Joan:
„Nikde jsem se ale nedočetla, jestli může být mezi značkami <?php a ?> taky něco z kaskádových stylů“ PHP vyplivne výsledný text (resp. "data") na to místo, kde se ve stránce nachází. Čili PHP může generovat HTML, styly, skripty, XML, dokonce třeba, obrázky, zvuky... prostě kdeco. |
||
Časová prodleva: 14 let
|
0