| 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: 17 let
|
|||
0