Autor | Zpráva | ||
---|---|---|---|
unlucky Profil |
#1 · Zasláno: 9. 11. 2009, 15:51:41 · Upravil/a: unlucky
Jak efektivně udělat, aby při zobrazení článku se zvýraznil příslušné menu?
například mám menu "práce půda kapitál" když někdo na stránce "články" bude číst článek v kategorii půda, tak aby mi označilo např. v menu active class půdu |
||
Beavis Profil |
#2 · Zasláno: 9. 11. 2009, 16:35:48
unlucky:
Podle toho, jak články zobrazuješ. Nejjednodušší je (podle mě) použít podmínky ( if(isSet GET .... ).. |
||
Petr ZZZ Profil |
#3 · Zasláno: 9. 11. 2009, 16:43:05 · Upravil/a: Petr ZZZ
Dá se to přes CSS nastylovat, např:
a:link { background-color:#cc6600; } a:visited { background-color:#996666; } a:active { background-color:#ffffff; } a:hover { background-color:#ff66ff; } Tak se dá nastylovat všechno možné, viz též Vylepšení odkazů. Můžeš si udělat i různé třídy: .klas a:link { background-color:#cc6600; } .klas a:visited { background-color:#996666; } .klas a:active { background-color:#ffffff; } .klas a:hover { background-color:#ff66ff; } .vlas a:link { zas jina definice } .vlas a:visited { jina definice } .vlas a:active { jina definice } .vlas a:hover { jina definice } |
||
unlucky Profil |
#4 · Zasláno: 9. 11. 2009, 18:56:38 · Upravil/a: unlucky
nejde mi o to, jak to nastylovat :D
například na intervalu http://interval.cz/clanky/chyba-4xx-chovani-stranek-pro-uzivatele-a-vyhledavace/ když to dáte do prohlížeče, tak se zvýrazní webdesign, webové standardy. A já bych chtěl nakopnout správným směrem, jak to efektivně zvýraznit (v dbz je kategorie samozřejmě) |
||
Beavis Profil |
#5 · Zasláno: 10. 11. 2009, 10:52:46
unlucky:
Předpokládám že máš články v DB, jde jen o metodu "vytáhnutí" z ní. Pokud používáš tvary např.; ?strana=clanky&id=.. , pak jde přiřadit SQL dotaz, který vyhledá článek podle id v adrese a vytáhne ho z DB. |
||
Medvídek Profil |
#6 · Zasláno: 10. 11. 2009, 11:11:58
unlucky:
Vytáhneš si z DB v kterých kategoriích je článek umístěný a těm přidáš třídu active. http://interval.cz/webdesign/webove-standardy/ |
||
r0me0 Profil |
#7 · Zasláno: 10. 11. 2009, 11:19:11 · Upravil/a: r0me0
já to dělám přes switch... dejme tomu, že máš menu s třemi položkami: Domů, Foto, Kontakt a v url to řešíš takto: www.domena.cz/index.php?kategorie=domu
switch($_GET['kategorie']) { case "domu": $zvyrazneni_domu = 'class="aktivni"'; break; case "foto": $zvyrazneni_foto = 'class="aktivni"'; break; case "kontakt": $zvyrazneni_kontakt = 'class="aktivni"'; break; } a pak ve vzpisu menu to mam takto: echo '<a href="domu.php" '.$zvyrazneni_domu.' > Domů </a>'; echo '<a href="foto.php" '.$zvyrazneni_foto.' > Foto </a>'; echo '<a href="kontakt.php" '.$zvyrazneni_kontakt.' > Kontakt </a>'; |
||
unlucky Profil |
#8 · Zasláno: 10. 11. 2009, 12:28:22
porad nechapete :P
takze v indexu mam includnuty menu a obsah v obsahu (clanek.php) ziska pres $_GET['id'] a zobrazi jak ale udelat, kdyz menu je PRED obsahem takze jeste pred SQL dotazem. Takze udelat jeste v menu podminku pokud stranka ==clanek zjisti kategorii atd... ? se mi to zda zbytecne mit 2x stejny dotaz tak se ptam na lepsi reseni |
||
panther Profil |
#9 · Zasláno: 10. 11. 2009, 12:31:32
unlucky:
a důvod, proč je dotaz dole a nemůže být o pár řádek výše? |
||
Medvídek Profil |
#10 · Zasláno: 10. 11. 2009, 12:54:41
unlucky:
Nejlepší je ten dotaz udělat ještě před začátkem stránky a rovnou si tím zjištíš třeba i titulek stránky. switch($_GET["stranka"]){ case "novinky":{ if($_GET["kategorie"]=="akce" OR $_GET["kategorie"]=="aparatura" OR $_GET["kategorie"]=="djs"){ if($_GET["kategorie"]=="akce"){$titulek="Nabídka akcí "; $aktivni_akce=" class='active'";} if($_GET["kategorie"]=="aparatura"){$titulek="Nabídka aparatury "; $aktivni_apa=" class='active'";} if($_GET["kategorie"]=="djs"){$titulek="DJs´ "; $aktivni_djs=" class='active'";} } else{ if($_GET["kategorie"]=="fotky"){ if(empty($_GET["strana"])){$strana=1;} else{$strana=ereg_replace("[^0-9]", "", $_GET["strana"]);} $titulek="Galerie - strana ".$strana; $aktivni_foto=" class='active'"; } else{ if(empty($_GET["strana"])){$strana=1;} else{$strana=ereg_replace("[^0-9]", "", $_GET["strana"]);} $titulek="Novinky - strana ".$strana; $aktivni_novinky=" class='active'"; } } break; } |
||
unlucky Profil |
#11 · Zasláno: 10. 11. 2009, 13:09:39 · Upravil/a: unlucky
Medvidek:
ale ty kategorie mam v sql, to si zase musim dat další dotaz? panther: obsah: while (neco = mysql fetch array sss){ echo $neco['tohle'] atd... zobrazi se 6x } tohle asi vlozit pred title asi ne :P drive jsem pouzival pred title if ($kde=="show_news"){ $id_kde=$_GET['id']; $show_news_kde=mysql_query("select title from news where id='$id_kde'"); $show_kde=mysql_fetch_array($show_news_kde)); $active_str=$show_kde['title']; |
||
Časová prodleva: 10 dní
|
|||
unlucky Profil |
#12 · Zasláno: 20. 11. 2009, 19:23:33 · Upravil/a: unlucky
Jak zobrazujete menu?
zatím mám tohle a zdá se mi že je to špatně pro budoucí dynamické titulky Page je stranka a title je nazev pro podstranku. Kdyz někdo klikne na "culture" tak se mu zobrazi submenu pro "culture". Sem je to fajn. Problém nastává tehdy, když mám /clanek/seo-nazev-clanku -> ?page=clanek&title=seo-nazev-clanku z dbz si zjistím categorii a podcategorii, ale nevim jak na zýkladě toho zvýraznit menu a submenu v tomto případě menu = page submenu = title switch($_GET['title']) { case "festivals": $zvyrazneni_subfestivals = 'id="subcurrent"'; break; } switch($page) { case "home": $zvyrazneni_home = 'id="current"'; break; case "culture": $zvyrazneni_culture = 'id="current"'; $submenu = ' <a href="/culture/traditional-arts" '.$zvyrazneni_subta.'>Traditional Arts</a> <a href="/culture/festivals" '.$zvyrazneni_subfestivals.'>Festivals</a> <a href="/culture/myths-and-legends" '.$zvyrazneni_submyths.'>Myths and Legends</a> <a href="/culture/religions" '.$zvyrazneni_subreligions.'>Religions</a> <a href="/culture/foods-and-drinks" '.$zvyrazneni_subfoods.'>Foods and drinks</a> '; break; } |
||
Časová prodleva: 14 let
|
0