WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Menyknappar ska vara markerade..... (https://www.wn.se/forum/showthread.php?t=9301)

Starweb 2005-09-15 12:33

Citat:

Originally posted by herkules@Sep 15 2005, 09:43
Här kommer den nya koden
Ryser till när jag ser den koden... Varför inte göra en array + en forward loop istället? Och/eller iallafall en case-sats?

ashur 2005-09-15 17:40

tack för koden. :D
Ska jag göra något speciellt på mina länkar som jag har nu? för att knappen ska vara markerad. om jag tar bort "anchors" så kommer jag inte till titeln.

Starweb, hur fungerar din kod då? dvs. är det lättare att infoga osv.

Jonas 2005-09-16 02:36

Kod:

<div id="nav">
<ul>
<?php

if(isset($_GET['sida']))
{
        $sida = $_GET['sida'];
        // regXP
        $pattern = '/(.*?)#/';
        preg_match($pattern, $sida, $matches);
        print $matches[1];
}
else
{
 $sida = '';
}

$pages = array('Hem' => 'http://www.videohelp.se/?sida=hem', 'Guider' => 'index.php?sida=guider', 'Program' => 'index.php?sida=program', 'Kontakta' => 'index.php?sida=kontakta');

        while (list($page, $url) = each($pages))
        {
 if($page == $sida) $add = ' class="active"';
 else $add = '';

 echo '<li'.$add.'><a href="'.$url.'">'.$page.'</a></li>'."\n";
        }
?>
 <li><a href="./phpBB2/" target="_blank">Forum</a></li>
</ul>
</div>

Kanske en något snabbare och mer "dynamisk" variant.
Och mer lätt administrerad.

Var det något sådant här du Starweb hade i tankarna?

herkules 2005-09-16 10:54

joo, min lösning är väl inte den kortaste, orkade bara inte göra om den :)
För övrigt så är inte case sats heller en bra lösning!

herkules 2005-09-17 10:36

Citat:

Originally posted by ashur@Sep 15 2005, 17:40
tack för koden.
Ska jag göra något speciellt på mina länkar som jag har nu? för att knappen ska vara markerad. om jag tar bort anchors så kommer jag inte till titeln.
Starweb, hur fungerar din kod då? dvs. är det lättare att infoga osv.


Du behöver inte göra något speciellt, lägg bara in koden där förra koden var!

ashur 2005-09-17 11:29

Citat:

Originally posted by herkules@Sep 17 2005, 10:36
Du behöver inte göra något speciellt, lägg bara in koden där förra koden var!

Nu börjar jag förstå hur denna php fungerar. :D
Men vad jag tänkte på är att jag använder två php, guide.php (som innehåller länkarna) och guider.php (som innehåller texterna).
Om jag förstår det rätt så kommer inte denna kod att fungera på sidan guider.php p.g.a "r" extra?

dvs. i koden så finns endast guide.php utskriven och ska visa sidan efter eventuella "markering" som #, ? osv... Tex. guide.php#divx.


Jonas, den koden som du beskrev gör inte så att knapparna blir markerade efter att man tryckt.

herkules 2005-09-18 02:47

Citat:

Originally posted by ashur@Sep 17 2005, 11:29

Nu börjar jag förstå hur denna php fungerar. :D
Men vad jag tänkte på är att jag använder två php, guide.php (som innehåller länkarna) och guider.php (som innehåller texterna).
Om jag förstår det rätt så kommer inte denna kod att fungera på sidan guider.php p.g.a "r" extra?

dvs. i koden så finns endast guide.php utskriven och ska visa sidan efter eventuella "markering" som #, ? osv... Tex. guide.php#divx.

Prova med den här:
Kod:

<div id="nav">
<ul>
<?php

if(isset($_GET['sida'])){
 $sida = $_GET['sida'];

// regXP
$pattern = '/(.*?)#/';
preg_match($pattern, $sida, $matches);
print $matches[1];


}else{
 $sida = '';
}

if($sida == ''){
 echo '<li class="active"><a href="http://www.videohelp.se/">Hem</a></li>'."\n";
 }else{
 echo '<li><a href="http://www.videohelp.se/">Hem</a></li>'."\n";
 }
if($sida == 'guide'){
 echo '<li class="active"><a href="index.php?sida=guide">Guider</a></li>'."\n";
}else{
 echo '<li><a href="index.php?sida=guide">Guider</a></li>'."\n";
}
if($sida == 'guider'){
 echo '<li class="active"><a href="index.php?sida=guide">Guider</a></li>'."\n";
}else{
 echo '<li><a href="index.php?sida=guide">Guider</a></li>'."\n";
}
if($sida == 'program'){
 echo '<li class="active"><a href="index.php?sida=program">Program/codecs</a></li>'."\n";
 }else{
 echo '<li><a href="index.php?sida=program">Program/codecs</a></li>'."\n";
 }
if($sida == 'kontakta'){
 echo '<li class="active"><a href="index.php?sida=kontakta">Kontakta mig</a></li>'."\n";
 }else{
 echo '<li><a href="index.php?sida=kontakta">Kontakta mig</a></li>'."\n";
 }

?>
<li><a href="./phpBB2/" target="_blank">Forum</a></li>
</ul>
</div>


ashur 2005-09-18 11:44

Nu blir det 2 knappar av Guider-menyknapp, om man trycker på länkarna som finns på guide.php.
Men det är på rätt väg. ;)

Går det inte få dit en funktion som tex. "om guide eller guider är markerad" så markera guider knappen.
tex.
Kod:

if($sida == 'guide' eller 'guider'){
echo '<li class="active"><a href="index.php?sida=guide">Guider</a></li>'."\n";
}else{
echo '<li><a href="index.php?sida=guide">Guider</a></li>'."\n";
}


herkules 2005-09-18 12:00

Citat:

<div id="nav">
<ul>
<?php

if(isset($_GET['sida'])){
$sida = $_GET['sida'];

// regXP
$pattern = '/(.*?)#/';
preg_match($pattern, $sida, $matches);
print $matches[1];


}else{
$sida = '';
}

if($sida == ''){
echo '<li class="active">Hem'."\n";
}else{
echo '[*]Hem'."\n";
}
if($sida == 'guide' or $sida == 'guider'){
echo '<li class="active">Guider'."\n";
}else{
echo '[*]Guider'."\n";
}

if($sida == 'program'){
echo '<li class="active">Program/codecs'."\n";
}else{
echo '[*]Program/codecs'."\n";
}
if($sida == 'kontakta'){
echo '<li class="active">Kontakta mig'."\n";
}else{
echo '[*]Kontakta mig'."\n";
}

?>[*]Forum[/list]</div>


ashur 2005-09-18 22:44

Nu fungerar den. Tack för all hjälp du lagt ner för att hjälpa mig herkules.
Väldigt snällt av dig.


Alla tider är GMT +2. Klockan är nu 18:22.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson