Avatar billede charley78 Novice
06. februar 2009 - 18:15 Der er 14 kommentarer og
1 løsning

hvordan markerer jeg linket til den side jeg står på i en include menu?

http://www.yes-yes.dk/suwalski/index.php har en menu i venstre side.
Menuen ligger i en include-mappe, hvorfor den selvfølgelig ser ens ud på alle sider.

Findes der alligevel en måde hvorpå man kan kode den enkelte side til at markere (fx ved brug af 'bold') det respektive link?
Avatar billede nicklasb Nybegynder
06. februar 2009 - 18:57 #1
Der findes ikke noget CSS der virker gør det korrekt og viser det ens i alle browsere.

Men du kan vel lave noget i retningen af

<?php
$menu = array(
        array(
            'title' => 'Om Lotte Suwalski',
            'href'  => 'lotte.php',
            'text'  => 'Tekstforfatter Lotte Suwalski'
        ),
        array(
            'title' => 'sådan samarbejder vi',
            'href'  => 'samarbejde.php',
            'text'  => 'Sådan samarbejder vi!'
        ),
        array(
            'title' => 'Den gode tekst',
            'href'  => 'index.php',
            'text'  => 'Hvad er en god tekst?'
        )
    );

foreach($menu as $item)
    echo '<li><a title="' . $item['title'] . '" href="' . $item['href'] . '"' . (substr($_SERVER['SCRIPT_NAME'], strpos($_SERVER['SCRIPT_NAME'], '/')) == $item['href'] ? ' style="font-weight: bold;"' : '') . '>' . $item['text'] . '</a></li>' . "\n";
?>

Nu ved jeg ikke hvordan du i forvejen skriver din menu, men den ser rimlig statisk ud. Hvis det ikke er tilfældet håber jeg alligevel at mit eksempel kan demonstere idéen ..

Det er desuden ikke pænt at afslutte en li, uden den er startet. I din kode har du lige under <ul> en </li>
Avatar billede charley78 Novice
06. februar 2009 - 19:14 #2
jeg har desværre ingen erfaring med php - lige bortset fra at lave en include at putte menuen i.
Kan du fortælle mig mere konkret (læs: skåret ud i pap) hvordan jeg bruger de koder du anviser?
Avatar billede nicklasb Nybegynder
06. februar 2009 - 19:27 #3
Så forstår jeg ikke din pointsætning af spørgsmålet?
Jeg har testet scriptet og rettet det til så det burde virke.

<?php
$menu = array(
        array(
            'title' => 'Om Lotte Suwalski',
            'href'  => 'lotte.php',
            'text'  => 'Tekstforfatter Lotte Suwalski'
        ),
        array(
            'title' => 'sådan samarbejder vi',
            'href'  => 'samarbejde.php',
            'text'  => 'Sådan samarbejder vi!'
        ),
        array(
            'title' => 'Den gode tekst',
            'href'  => 'index.php',
            'text'  => 'Hvad er en god tekst?'
        )
    );

foreach($menu as $item)
    echo '<li><a title="' . $item['title'] . '" href="' . $item['href'] . '"' . (preg_replace('/(.*)\/(.*)/', '$2', $_SERVER['SCRIPT_NAME']) == $item['href'] ? ' style="font-weight: bold;"' : '') . '>' . $item['text'] . '</a></li>' . "\n";

?>

Du indsætter koden i den fil du inkluderer som menuen. Udvid arrayet $menu, så det indeholder alle de menupunkter du vil vise. Nu burde den udskrive menuen og markere det punkt der matcher fil-navnet med fed. Det burde være til at se, hvordan de øvrige menupunkter inkluderes i scriptet - ellers må du lige sige til ..
Avatar billede kjeldsted Novice
06. februar 2009 - 19:37 #4
Desuden bør du få ordentlig styr på din HTML (http://validator.w3.org/check?uri=http%3A%2F%2Fwww.yes-yes.dk%2Fsuwalski%2Findex.php&charset=%28detect+automatically%29&doctype=Inline&group=0).Se evt. link, hvis du vil vide hvilke fejl du bør rette.
Avatar billede olebole Juniormester
07. februar 2009 - 22:56 #5
Avatar billede olebole Juniormester
07. februar 2009 - 22:57 #6
"XHTML 1.0 Strict skal ikke serves som 'text/html'"  ;o)
Avatar billede charley78 Novice
17. februar 2009 - 10:33 #7
hvordan lægger jeg flere points ind her i den nye udgave af Eksperten?
Avatar billede charley78 Novice
17. februar 2009 - 10:57 #8
Olebole. Hvad mener du med flg.:
"seves" og "serves"?
og "vi har pille poppen(?) af"
(igen forstår jeg desværre ikke hvad der bør ligge øverst i min kodefil, men jeg kan næsten genkende at det du skriver har noget med det at gøre)
Avatar billede olebole Juniormester
17. februar 2009 - 13:39 #9
"seves" er naturligvis en slåfejl. Der skulle stå "serves", som er det der foregår, når en server lader en klient hente et dokument ... hvorfor den slags kaldes 'servere'  ;o)

"vi har pille poppen af" er igen slåfejl. Der skulle stå "vi har pillet proppen af", hvilket er en ganske almindelig talemåde.

Jeg er ked af, du ikke kan erkende, relevansen af mine indlæg. Hvad er det, du er i tvivl om?
Avatar billede charley78 Novice
17. februar 2009 - 15:17 #10
-    Hej Olebole, jeg er slet ikke i tvivl om din ekspertise. Jeg tror allerede du har hjulpet mig et væld af gange. Desværre er jeg bare ret ubehjælpsom ind imellem. Blandt andet nu har jeg simpelthen ikke det forkromede overblik. Som autodidakt, hvis jeg overhovedet kan tillade mig at kalde mig 'lært' på nogen måde, er der en masse grundlæggende huller, der viser sig ind imellem når jeg pludseligt for brug for et eller andet. (Det være sig fx nærværende spørgsmål http://www.eksperten.dk/spm/862793#reply_7328944). Vupti, står jeg i en situation, hvor nogen sikkert ville påstå at jeg for at løse problemet, burde have haft mere solide forudsætninger. Det er dog svært at regne ud hvilke, og dermed også at kunne forudse tingene på forhånd. Så jeg stiller altså bare spørgsmålene hen ad vejen, som de melder sig.
-    Til gengæld er jeg helt indstillet på at betale hvad der vil være fair for - hvad der nogen gange viser sig at være en lang mere krævende og indgående forklaring, end jeg først havde estimeret.
-    Og du må meget gerne belære mig mere, og jeg vil som sagt inderligt gerne og rimeligvis give masser af points for det.
-    Hvad skal vi i øvrigt sige. Skal jeg lægge 200 points oven i til deling mellem de kloge hoveder der har svaret på dette?

… jeg skal bare lige finde ud af hvordan jeg tilføjer points.. B-o
Avatar billede charley78 Novice
17. februar 2009 - 15:38 #11
- fx er det svært at få øje på hvor det "li", som w3-validatoren omtaler som liggende i linie 27, befinder sig (jvnf. http://validator.w3.org/check?uri=http%3A%2F%2Fwww.yes-yes.dk%2Fsuwalski%2Findex.php&charset=%28detect+automatically%29&doctype=Inline&group=0&verbose=1&user-agent=W3C_Validator%2F1.606)!
Avatar billede nicklasb Nybegynder
17. februar 2009 - 17:09 #12
Jeg er fuldstændigt ligeglad med dine point. Det jeg skriver, er blot at jeg (selvfølgelig) tog din pointsætning som udtryk for dine evner i det du har kastet dig ud på. Jeg ville synes det er rimeligt at man gør sig ulejligheden at vurdere hvor svært man mener spørgsmålet er, før man poster det, nu der rent faktisk er et point-system der kan afspejle det. Det kan sagtens være at jeg har misforstået meningen med point-systemet - som sagt er jeg fløjtende ligeglad med pointene og ligger egentligt kun et svar, for at det for andre er let at finde "svaret" på spørgsmålet.

Angående din validering på w3.org, er det en god idé at slå "Show Source" til under "Options". Da vil linket på linjenummeret for den enkelte fejl føre dig til hvor i kinden fejlen opstår. Men altså, linjerne passer nu meget godt overens med den kildekode du får ved i din browser at vise kildekoden.

Og til dit spørgsmål; som jeg i kommentar #3, skal koden blot sættes ind hvor du nu udskriver din menu. Som jeg nævner i #1 har jeg ingen anelse om, hvordan du i dag udskriver din menu, ud over at det sker i en seperat fil. Hvis ikke du har andet i den fil, end ren HTML-kode (fra <ul> ... til ... </ul>) skal koden blot erstate hele indholdet i menu-filen. Har du rent faktisk prøvet at køre det script jeg har postet?
Avatar billede nicklasb Nybegynder
17. februar 2009 - 17:13 #13
.. og så kom der lige et par taste- / stavefejl med:
"du har kastet dig ud på" = "du har kastet dig ud i"
"hvor i kinden fejlen opstår" = "hvor i kilden fejlen opstår"
Resten er gratis.

Et link til valideringen, hvor den omtalte indstilling er sat: http://validator.w3.org/check?uri=http%3A%2F%2Fwww.yes-yes.dk%2Fsuwalski%2Findex.php&charset=%28detect+automatically%29&doctype=Inline&ss=1&group=0&verbose=1&user-agent=W3C_Validator%2F1.606
Avatar billede nicklasb Nybegynder
15. marts 2009 - 19:45 #14
Har du fået det til at virke?
Avatar billede charley78 Novice
28. oktober 2010 - 21:54 #15
tror ikke jeg fik det til at virke... :o) lukker alligevel med points!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester