Masterpage HTML of PHP

  • Onderwerp starter Onderwerp starter mr32
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

mr32

Gebruiker
Lid geworden
30 okt 2009
Berichten
441
Hallo helpmij'ers,

Ik heb een website, en het aantal pagina's begint uit de hand te lopen. Nu is dat - als je alles goed ordent - niet zo erg, maar het wordt wel een probleem als je bijvoorbeeld een link die op elke pagina te vinden is moet gaan wijzigen.

Nu weet ik dat je in Visual Webdeveloper masterpages kunt gebruiken. Een soort van sjablonen, die ervoor zorgen als je iets aanpast, het gelijk op alle pagina's verandert wordt.

Is er ergens ook een zelfde techniek die je, of zelf kunt installeren (overnemen van scripts) (liefst PHP of HTML (of javascript, ook geen probleem)), of al ingebouwd zit in programma's zoals dreamweaver?

Ik hoop dat ik genoeg informatie heb gegeven voor mijn probleem, en alvast bedankt!

mr32 :cool:
 
Als ik het goed begrijp heb jij een website gemaakt in html en die heb je gekopieerd voor elke pagina en aangepast?

Zo ja, ken je de functie include van php?

Zo nee dan begrijp ik het verkeerd.
 
de website zelf is in PHP. En ja, ik heb alles gekopieerd en aangepast :D. En nee, ik ken die functie niet :p. Wat doet die precies??
 
Ik doe meestal een index maken met 4 vakken
Header
Menu
Content
Footer

Dan heb ik een map Page waar ik alle losse inhoud voor de pagina's heb
dan als je op een menu item klikt doet hij een variabel aan maken 'p' en die bevat dan de pagina naam en die opent hij in de div content.

Als voorbeeld mijn site (beta) http://84.27.139.215/YinYang/
kijk goed naar de url als je in het menu klikt.

Snap je het een beetje?

Brian
 
interessant, maar kun je het nog preciezer beschrijven, ik snap het nog niet helemaal. En kan ik dat ook gebruik om bijvoorbeeld meteen op alle pagina's iets te veranderen, door maar één enkel bestandje (html, txt, of wat dan ook) aan te passen?
 
De functie include("bestand hier");
opent het bestand waar je naar toe wijst.

Nu hoe ik het doe.
Nou ik laat mijn index.php even zien;)

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php
function open_page(){

if(empty($_GET['p'])){
	$page = "home";
}else{
	$page = $_GET['p'];
}

$folder = "page/";
$total = $folder.$page.".php";

if(file_exists($total)){
	include($total);
}else{
	include($folder."home.php");
}
}
?>
<html lang="nl">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
		<title>	YinYangWebdesign, Design and Code in balance. </title>
		<link rel="stylesheet" type="text/css" href="Style/default.css"> 
	</head>
	<body>
		<div id="mainframe">
			<div id="header">
				
			</div>
			<div id="navigation">
				<ul id="menu">
					<li><a href="?p=home">Home</a></li>
					<li><a href="?p=overons">Over ons</a></li>
					<li><a href="?p=portfolio">Portfolio</a></li>
					<li><a href="?p=contact">Contact</a></li>
				</ul>
			</div>
			<div id="content">
				Deze website zelf is nog in beta daarom kunnen links en functies niet volledig werken!.<br>
				Ook is de inhoud onder voorbehoud en grammatica controle nog niet toegepast.<br>
				Links op de portfolio pagina: Site bekijken, Validators etc. zijn nog niet beschikbaar.<br>
				<br>
				<?php open_page(); ?>
			</div>
			<div id="footer">
				&copy; YinYangWebdesign <?php echo date("Y"); ?>
			</div>
		</div>
	</body>
</html>

Boven in heb ik de DOCTYPE en dan een functie om de inhoud te laden.
Deze kijkt of het bestand bestaat in de opgegeven folder.
Onthoud wel dat je geen spatie's of speciale tekens gebruikt in je bestandsnamen!

Mijn mappen structuur is zo:

Code:
YinYang
     images
          Alle images plaats je hier eventueel in mappen gesorteerd.
     page
          Alle inhoud doe je hier plaatsen als php bestand bijv.
          contact.php
          home.php
          overons.php
          portfolio.php
     style
          De style sheet komt hier
          default.css
     index.php

dus als ik naar index.php?p=contact ga dan kijkt de functie of contact.php bestaat zoja dan opent hij deze in de content div. zo niet dan opent hij home.php

en home.php bevat dan weer:

Code:
Welkom op onze website,<br>
<br>
YinYangWebdesign biedt U een goede website aan voor weinig geld,<br>
Wij bieden kwaliteit en kwantiteit van top niveau.<br>
Wij zijn er voor de bedrijven, hobbyisten, families en meer.<br>
<br>
Kijkt u gerust verder.<br>

Zo doe ik het dus meestal;)

Brian
 
Laatst bewerkt:
Hoi mr32,
Da's een mogelijkheid. Zo blijf je altijd op dezelfde pagina, die dan via de variabele zijn veranderlijke inhoud-<div> inmonteert. De verschillende inhoud-blokken staan dus in aparte fragmenten.
De variabele (met de naam "p") moet dan in de adresbalk staan (na een vraagteken) om de juiste inhoud op te halen:
Code:
[url]http://84.27.139.215/YinYang/[/url][COLOR="DarkRed"]index.php?p=home[/COLOR], 
[url]http://84.27.139.215/YinYang/[/url][COLOR="DarkRed"]index.php?p=overons[/COLOR], enz.
Ongeveer het idee van een frame-site, waar óók telkens in het raamwerk een inhoud geplakt wordt.
Met de vergelijkbare nadelen: als je even snel iets anders dan de inhoud wilt wijzigen op één pagina van de site (bv. op die pagina een ander header-image), kan je ernstig in de problemen komen.
Want "er is geen pagina": alles moet met variabelen op die ene hoofdpagina geregeld worden. :rolleyes:

Het alternatief
Ik doe het altijd precies andersom, dat gaat zonder variabelen en is super-simpel:
  • Elke pagina is een eigen pagina, met ook een eigen paginanaam in de adresbalk (index.php, overons.php, enz.). De inhoud staat in die pagina.
  • Gelijkblijvende dingen als het menu zitten apart in een php-fragmentje. Andere herhaal-elementen kunnen ook in een apart fragmentje.
  • Op elke pagina wordt dat fragmentje binnengehaald met één regeltje php-code.
Voorbeeld met een menu-fragmentje: www.developerscorner.nl/csshunter/menu-page.php.
  • Uitgebreider werkwijze voor het van de grond af bouwen van een php-site:
    Mini-tutorial: de opzet van een php-site.
  • En een beschrijving van hoe het knip- en plakwerk gaat als je al een site hebt:
    toevallig net gisteren op het forum gearriveerd in deze draad. :)
Dit blijft ook werken als je een menu met submenu hebt: bij grotere sites dan een paar bladzijden kan je de paginas ook op de server rubriceren in eigen mapjes met (sub)(sub)(sub)mapjes: de hele menu-stamboom.
Code:
www.website.nl/nieuws/nieuws2007.php
www.website.nl/nieuws/nieuws2008.php
www.website.nl/nieuws/nieuws2009.php
www.website.nl/nieuws/nieuws2010.php
www.website.nl/agenda/agenda2010.php
www.website.nl/agenda/oude-agendas.php
en desnoods:
www.website.nl/nieuws/wereld/europa/nederland/noord-brabant/regio-eindhoven/son-en-breugel/breugel.php


Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Bedankt voor jullie ideeën, helaas heb ik nog geen tijd om ze te proberen. Komend weekend zal ik eens kijken, ik laat het wel weten!!

mr32 :thumb:
 
Kijk, dat was wat ik zocht! Allebei hartstikke bedankt voor jullie (zeer uitgebreide) hulp!

:thumb:
 
Van allebei :p Ik heb die functie <?php include("pagina.html");?> gebruikt. Tot nu toe is mijn sidebar daarmee gemaakt...

mr32 :cool:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan