Avatar billede Slettet bruger
15. februar 2005 - 16:22 Der er 7 kommentarer og
1 løsning

Hjælp til PHP-menu implementering i html.document

Jeg forsøger at implementere højremenuen på dette website

http://www.ib.1go.dk/

som en PHP-menu, men det er ikke lykkedes helt, nogle gange virker det.


....................................

Desuden er siden valideret  html og Css uden fejl , men i FF vises den helt ad he.... til.

Hvad er der galt ?
Avatar billede Slettet bruger
15. februar 2005 - 16:51 #1
Dette er rettet, så nu vises den som den skal også i FF

"Desuden er siden valideret  html og Css uden fejl , men i FF vises den helt ad he.... til"

................
Avatar billede Slettet bruger
16. februar 2005 - 15:09 #2
Er alle PHP eksperterne taget på skiferie ?

Eller er spørgsmålet forkert formuleret ?
..
Avatar billede Slettet bruger
18. februar 2005 - 12:25 #3
Ja. Du har ikke spurgt om noget, som det er muligt at svare på. Du har ikke engang beskrevet, hvad dit problem er.
Avatar billede Slettet bruger
18. februar 2005 - 16:02 #4
Jeg har lige for 0,16 time siden fundet en løsning som tilsyneladende virker.

Jeg har brugt denne i mit index.php

<div class="sidebar right" align="center">
        <div class="subtitle">Menu</div>
<?php
include("menu.php");
?>
    </div>

og menu ser sådan ud:
<div class="sidebaritem first"><a href="#">Startside</a></div>
        <div class="sidebaritem"><a href="#">De fire Årstider</a></div>
        <div class="sidebaritem"><a href="#">Klematis</a></div>
        <div class="sidebaritem"><a href="#">Roser</a></div>
        <div class="sidebaritem"><a href="#">Rhododendron</a></div>
        <div class="sidebaritem"><a href="#">Buske-Træer</a></div>
        <div class="sidebaritem"><a href="#">Stauder</a></div>
        <div class="sidebaritem"><a href="#">Krukker</a></div>
        <div class="sidebaritem"><a href="#">Jord-Gødning</a></div>
        <div class="sidebaritem"><a href="#">Beskæring</a></div>
        <div class="sidebaritem"><a href="#">Plantenavne</a></div>

..................

Har også forsøgt med denne:

<?php include_once("menu.php"); ?>

men hvad er det rigtige ? jeg kender meget lidt til PHP
Avatar billede Slettet bruger
18. februar 2005 - 16:22 #5
Jeg ville nok have lavet det som en liste i stedet. Derudover er det ganske unødvendigt at give alle de elementer klassen sidebaritem. Hvis du i CSS vil "pille ved" alt i sidebars, kan det for eksempel gøres med:

.sidebar * {regler}

Du kan egentlig også helt droppe de <div> om dine <a> (måske - det kommer lidt an på, om du bruger noget CSS, der kræver at der er et element uden om <a>)

Bare brug
.sidebar .subtitle a { display:block; }
så er linkene på hver sin linie.

include_once er relevant til hvis man har adskillige inkluderede filer, hvor måske tre af dem skal bruge en bestemt fjerde. Det vil være overflødigt at inklude den fjerde altid, og det vil være rodet, hvis den blev inkluderet fra hovedfilen, så den skal inkluderes fra de filer, der har brug for den. Så er problemet bare, at hvis filen indeholder funktionsdefinitioner, så går det galt, hvis man inkluderer den mere end en gang. Derfor er der lavet include_once og require_once, som kun indlæser en fil, første gang, der bliver bedt om den.

I dit tilfælde er der ikke risiko for at den vil blive inkluderet flere gange, så det er ligegyldigt om du bruger med eller uden _once.

Forskellen på include og require er graden af den fejl, der kommer, hvis filen ikke kan læses. en fejlet include giver en advarsel, hvor en fejlet require giver en fatal fejl, så scriptet afbrydes inden det bliver kørt.
Avatar billede Slettet bruger
18. februar 2005 - 17:22 #6
Tak for info, mener du en listenemu i stedet for det jeg har lavet ?

Jeg skal forsøge at forklare lidt om opbygningen,det hele er lavet i CSS sådan:
Hvis du kigger på siden http://www.ib.1go.dk/ så er de lysegrønne sidebar lavet med dette CSS

.sidebar
{
    width: 150px;   
    height: 1000px;  /* slet dette og tillad auto sidebar */
    background-color: #C7CFA7;
    color: #C7CFA7;
    font-weight: bold;
    padding: 10px 0px 5px 0px;
}

+ denne til at bestemme float venstre og højre

.left
{
    float: left;
}

.right
{
    float: right;
}

så er der "Links" venstre og "Menu" højre
.subtitle
{
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
}

Så kommer indholdet i sidebar

.sidebaritem.first
{
    margin-top: 10px;
}
og næste og efterfølgende

.sidebaritem
{
    width: 130px;
    background-color: #C7E1A7;
    color: #6D8269;
    border: solid 1px #6D8269;
    font-size: 14px;
    padding: 2px;
    margin-bottom: 3px;

}
................

Som du kan se bruger jeg navnene på class for at kunne holde styr på det, selvfølgelig kan det koges sammen, men nu har jeg styr på det sålangt.

En helt anden ting der volder mig lidt hovedbrud er hvordan jeg får .sidebar til altid at fylde spalten ud efter som hvilke skærmopløsning der bruges.
Sætter jeg den til auto bliver baren kun så høj som indhold
.sidebar
{
    width: 150px;   
    height: auto;
    background-color: #C7CFA7;
    color: #C7CFA7;
    font-weight: bold;
    padding: 10px 0px 5px 0px;

}

men det er nok et spørgsmål til en anden kategory.
........................
Vil du lægge et svar
Avatar billede Slettet bruger
18. februar 2005 - 17:33 #7
html, body {
  height: 100%
}

og sæt højden for .sidebar til 100% også.

Og det med listen var bare, at jeg ville have brugt noget i stil med nedenstående i stedet for en flok <div>. Selve CSSen vil stadig kunne laves, så det ser nøjagtigt ligesådan ud.

<ul class="subtitle">
  <li class="first"><a href="">link</a></li>
  <li><a href="">link</a></li>
</ul>
Avatar billede Slettet bruger
18. februar 2005 - 17:41 #8
Ja men der er meget jeg skal lære endnu, der er utrolig mange versioner af websiteprogramering, men man skal passe på ikke at blande for meget sammen som nybegynder.
Men tak for svar
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