Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

Drop-down menu

Brok
5 antwoorden
  • Ik zou graag een drop-down menu toevoegen aan mijn website. Dit is nu ondertussen gelukt en heb een .css file waarin de structuur staat opgeslagen. Maar nu moet ik nog steeds alle menu-items apart in iedere html pagina zetten. Hoe kan ik ervoor zorgen dat dit ook in een apart bestand staat waarnaar gelinkt kan worden zodat het menu meteen op alle pagina's staat?
  • Dat kan met b.v. PHP
    <? php include ("menu.html"); ?>
    of server side includes
    <!–#include file="menu.html" –>

    Op die manier zet je de structuur van het menu eenmalig in een apart bestand dat je vervolgens op de gewenste plekken includeerd.
  • Het menu werkt nu. Maar heb nu een ander probleem. Ik heb de website opgedeeld in verschillende delen zo te zeggen. Ieder onderdeel heeft een aparte map met daarin de webpagina's die daarbij horen.

    Het php-bestand met het menu staat in de map layout. Ik probeer nu in de map test dit bestand ook te includen in een php-bestand. Maar dit lukt niet. Ik denk dat dit te maken heeft met het verwijzen naar het php-bestand met het menu. In het menu bestand staan ook verwijzingen naar plaatjes die in de map images staan.
  • Klopt, het pad vanuit het bestand dat het menu aanroept (het bestand waarin de include staat) naar het menu toe moet wel kloppen. En als ze op verschillende lokaties staan en allemaal naar hetzelfde menu wijzen met hetzelfde pad, zal dat in de meeste gevallen fout gaan.

    Je kunt dit op twee manieren oplossen:
    1: Door in elk bestand het juiste (relatieve) pad toe te voegen dat voor dat betreffende bestand van toepassing is
    2: door het pad absoluut te maken.

    De relatieve manier ('startpunt' vanuit het betreffende document):
    Je kunt met ../ 'naar boven' navigeren. Dus bijvoorbeeld vanuit een bestand dat in de directory "test" staat zou je dan een relatief pad naar het menu in layout kunnen maken met: ../layout/menu.php. Voorbeeld: include("../layout/menu.php");

    De absolute manier ('startpunt' vanuit de basis directory):
    $_SERVER['DOCUMENT_ROOT']; Dit geeft altijd de root/basis directory aan van de webserver. Voor jou menu in de map layout zou dat dan $_SERVER['DOCUMENT_ROOT']/layout worden. Of het hele commando: include($_SERVER['DOCUMENT_ROOT']."/layout/menu.php");


    Aangezien je ook met images in weer een andere directory aan de gang bent zou ik persoonlijk voor de absolute manier gaan.
  • Volgens mij werkt het nu. Alleen omdat ik Wampserver gebruik om te testen is het commando nu:
    <?php include($_SERVER['DOCUMENT_ROOT']."Test/layout/
    menu.php"); ?>

    En in menu.php zijn de links naar de plaatjes nu:
    <img SRC="../images/test.gif" height=24 width=532>


    En heb nu weer een ander probleem. In mijn rootmap Test heb ik nog een map genaamd Testmenu waarin ook weer php bestanden staan. Als ik nu met mijn menu naar die pagina wil gaan krijg ik een melding waarin staat dat hij zoekt naar de map /Test/Testmenu/Testmenu/aa.php

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.