Nieuw Menu

Status
Niet open voor verdere reacties.

Gunneweg

Verenigingslid
Lid geworden
22 okt 2002
Berichten
574
Besturingssysteem
Windows 10 22H2
Ik heb gebruik gemaakt van accessify.com/tools-and-wizards/developer-tools/list-o-matic/
om een nieuw menu samen te stellen. Het resultaat ziet er goed uit.

Ik heb al wel een menu op de website, maar dat menu is een JS menu en dat schaalt niet
mee bij vergroting of verkleining van de website.

Ik heb dat JS menu op bijna al mijn pagina's staan maar ik denk dat dat het het bovengenoemde
menu niet zo makkelijk is omdat ik het dan op alle pagina's zal moeten plaatsen.

Of is hier soms een oplossing voor.

Zie voor het JS menu: http://www.aspartaam.nl
 
Dit kan zeker je dient dan alleen gebruik te maken van PHP.
De code die hiervoor nodig is is niet moeilijk alleen je webserver moet dit wel ondersteunen.

Voor alle websites die ik maak (hoe klein ook) maak ik een aparte header en footer pagina.

Voorbeeld header
HTML:
<html>
	<head>
		<title>Website naam</title>
	</head>
	<body>
            <div class="container">
			<div class="menu">
                               <ul>
                                     <li><a href="#">Voorbeeld</a><li>
                                </ul>
                         </div>

voorbeeld footer
HTML:
</div>
</body>
</html>

Deze twee pagina's vraag ik dan met behulp van de php functie include op als ik ze nodig heb.
Het voordeel hiervan is dat als ik iets verander aan de naam van mijn website of mijn menu of iets anders wat op deze pagina staat ik het maar één keer hoef te veranderen.

Nu zul je je afvragen hoe dit in de praktijk werkt. Dit is eigenlijk heel simpel. Stel ik wil een pagina met het menu van de website erop en een nette footer. Op de pagina zelf komt wat tekst te staan. Laten we voor het gemak deze pagina index.php noemen. Let wel goed op de extensie want een pagina waarop je dit systeem wilt gaan gebruiken dient altijd de .php extensie te hebben en niet de .html extensie anders werkt het niet.

Voorbeeld index.php
PHP:
<?php include("header.php"); ?>
                <div class="content">
		        Dit is een voorbeeld
                </div>
<?php include("footer.php"); ?>

Let wel dat in bovenstaand geval de pagina header.php in dezelfde map moet staan als de pagina header.php. Als header.php in een andere map staat kun je de pagina opvragen door onderstaande code.

Voorbeeld include
PHP:
<?php include("MAPNAAM/header.php"); ?>

Voor meer informatie over de functie include kijk dan hier even.
 
Hoi Kevin,

Bedankt voor de zeer uitgebreide uitleg, top.

Ik zie dat het op deze manier eigenlijk alleen maar met PHP kan terwijl mijn gehele website met alle
artikelen in html is. Dat maakt het dus een beetje ingewikkelder.

Ik hoop echter dat er nog een andere mogelijkheid is.
 
Voor zover ik weet is er geen andere mogelijkheid om dit te realiseren.
Overigens is het niet zo heel ingewikkeld, het is "slechts" een kwestie van even door hebben hoe het zit.

Dat al je pagina's in html zijn maakt het niet extra ingewikkeld alleen wat arbeidsintensiever. Je kunt namelijk gewoon de pagina's die je nu hebt hernoemen naar .php dus:
index.html hernoemen naar index.php
over.html hernoemen naar over.php
et cetera.

Vervolgens dien je alleen op alle pagina's de header en footer weg te halen en deze te vervangen door de include functie zoals in mijn vorige bericht beschreven.
Helaas kan ik je verder niet helpen. Mogelijk heeft iemand anders nog een andere en mogelijk simpelere oplossing.

Succes!
 
Hoi Gunneweg,
Inderdaad is een oplossing met php het mooiste. Daarvoor moeten dan wel op elke pagina wat aanpassingen gebeuren.

Wat ik ook als mogelijkheid zie:
  • De pagina's hetzelfde laten.
  • Het javascript van het oude menu vervangen door een javascript waarmee het nieuwe menu geplaatst wordt (met behoud van de javascript-bestandsnaam!). Dit vervangende nieuwe script is makkelijk te maken, en kan heel klein zijn (in tegenstelling tot de oude script-bende).
  • Hiermee is dan in één klap het nieuwe menu zichtbaar op alle pagina's.

Je zou dat ook als tussenfase kunnen gebruiken: eerst alles via javascript regelen, en vervolgens op je gemak de pagina's afreizen om er stuk voor stuk een mooi ingesloten php-menu in te zetten.
  • De pagina's met het nieuwe menu worden daarbij nieuwe pagina's met de .php uitgang, en kunnen alvast parallel (maar nog ongebruikt) op de server gezet worden.
  • (Je kunt ze ook meteen inschakelen, maar dan moet per aangepaste pagina zowel het javascript-menu als het php menu-fragment aangepast worden.)
  • Op het laatst wijzig je de index.html (tot index.php).
  • Als je dan de index.html van de server verwijdert, draait alles meteen op de php-versies. :)
  • Daarna kan je (weer op je gemak) de oude pagina's met de .htm uitgang verwijderen, en ook het menu-script.
  • Het is misschien handig om dan (via een .htaccess opdracht) een aanvraag naar een html-pagina automatisch te laten doorverbinden naar de pagina met de .php uitgang; dan blijven de links intact die anderen vanaf hun site naar een pagina hebben gemaakt.

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Hoi csshunter.

Bedankt voor je uitleg, maar om alle pagina's te gaan veranderen wordt een heel werk,
want er staan zo tussen de 500 á 600 pagina's op de website.

Is het oude JS menu echt zo'n bende zoals je zegt?

Het heeft diverse mogelijkheden die in accessify niet zijn te regelen zoals de lengte
van de filenamen en de breedte van de kolommen. Omdat het met één CSS wordt geregeld.

Het javascript van het oude menu vervangen door een javascript waarmee het nieuwe
menu geplaatst wordt (met behoud van de javascript-bestandsnaam!).
Dit vervangende nieuwe script is makkelijk te maken, en kan heel klein zijn

Het is wellicht makkelijk te maken maar zover gaat mijn kennis niet. Dit lijkt me echter
wel de kortste manier.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan