PDA

Volledige versie bekijken : Page specific file loading


Rubenson
%Europe/Berlin %812 %2011, 20:29
Hallo,

Ik wil met php pagina's includen in een hoofdpagina zodat als ik de template aanpas, ik het niet op elke pagina hoef te doen. Het idee is dus dat de inhoud van pagina's in de hoofdpagina wordt geladen en dat zo verschillende pagina's ontstaan.
Nu wil ik voor verschillende pagina's, specifieke scripts invoegen. Dus javascript en css bestanden in de head sectie invoegen die specifiek zijn voor de geinclude pagina. Ik wil dit doen door een variable te maken in de hoofdpagina, en waarde van deze variabele wordt dan gehaald uit het geinclude php bestand, die ook de inhoud van de pagina bevat*.
Ik heb iets gelezen over een model-controller-view methode, maar ik weet nog niet goed hoe ik het precies moet uitwerken.
Zou iemand me op weg kunnen helpen?

*voorbeeld:
<head>
<?= $css ?>
</head>

<?php
$css = '<link href="/stylesheets/home.css" rel="stylesheet" type="text/css"/>'

Met vriendelijke groet,

Ruben

Dauntless
%Europe/Berlin %564 %2011, 14:32
Zijn de css'en van je paginas dan zo verschillend dat ze niet samen gezet kunnen worden?

Als je het zo zou willen doen, moet je denk ik de structuur iets veranderen. Maak bv een contentMap.php die alles voorbereidt (pseudocode):
if($url== 'index.php')
{
$css = "stylesheets/home.css";
$content = "content/home.php";
}
else if($url == "downloads.php")
{
$css = "stylesheets/downloads.css";
$content = "content/downloads.php";
}

Dat bestand include je dan als eerste en in je index.php kan je dan de $css bovenaan en de $content onderaan includen.

Rubenson
%Europe/Berlin %770 %2011, 19:30
Bedankt voor je reactie,

Ik ga eens aan de slag met wat je bedacht hebt.

Icemar
%Europe/Berlin %328 %2011, 08:52
Ik weet niet of het al gelukt was maar het een iets aangepast versie gemaakt

Het php gedeelte kan je ook los opslaan en deze include in al je pagina's


<?php
//Eerst variable toekennen.
$css = "style";
$js = "javascript";
// het path ophalen
$uri = explode("/", $_SERVER['REQUEST_URI']);
// strippen tot alleen pagina naam
$page = str_replace('.php', '', $uri['1']);
// Veranderen van css link en javascript link.
// de case zijn pagina namen als er geen pagina naam is dan wordt de standaard (default) geladen.
switch ($page) {
case 'download':
$css = $page;
$js = $page;
break;
case 'contact': $css = $page;
$js = $page;
break;
case 'download': $css = $page;
$js = $page;
break;
default: $css = 'style';
$js = 'javascript';
}
?>

<html>
<head>
<title>Test page</title>
<script type="text/javascript" src="<?php echo $js; ?>.js"></script>

<link href="<?php echo $css; ?>.css" rel="stylesheet" type="text/css" media="all" />
</head>
<body>
</body>
</html>



suc6 er mee