L
LastChaosTyp
Guest
Hallo PCGHler,
ich bin relativ neu im Webdesign und bin aktuell dabei, die Homepage meiner Gilde (die ich auch ursprünglich geschrieben habe) komplett zu überarbeiten. Das ganze soll jetzt deutlich dynamischer und leichter zu pflegen sein.
Vorher hatte ich für jede Seite eine eigene PHP-Datei, dazu kamen sämtliche Config-Files und Includes wie Header, Footer etc. Da hatte ich aber das Problem, dass ich bei jeder einzelnen Seite immer wieder das Menü statisch einpflegen musste und sobald ich dort z.B. etwas ändern wollte, einmal durch alle Seiten durch musste und manuell überall die Änderung eintragen musste. Ebenfalls wurde beim Aufruf des User-internen Bereichs der Seite immer alles geladen, und dann wurde lediglich per Buttondruck in einem Untermenü der entsprechende Teil eingeblendet und alles andere ausgeblendet => Das war sehr unschön und unperformant!
Nun habe ich mir ein neues System überlegt, wobei ich aber noch ein paar Fragen habe. Eigentlich habe auch nicht ich mir dieses Prinzip überlegt, es ist wohl sehr verbreitet. Man schreibt eine index.php, in die alles wie das Menü, der Header, der Footer etc. reinkommt. Dazu wird dann lediglich der Content aus einer ausgelagerten Datei geladen und fertig ist die Seite (Wie eine kleine Art eines CMS). Bisher sieht meine index.php wie folgt aus:
(Ich kann den Code leider nicht in code-Tags hauen, da er sonst als HTML interpretiert wird und dementsprechend formatiert wird )
Jetzt ist mir aber nicht ganz klar, wie ich so Sachen wie den aktiven Menüpunkt oder den Header-Title am besten an die index.php übergeben kann. Liegt daran, dass ich den Content erst im body einbinde, der header ja aber schon vorher beschrieben werden muss. Klar könnte man die ganzen Daten in eine Datenbank oder so schreiben und dann beim Aufruf der Seite auslesen, finde ich aber doch sehr umständlich... Gibt es da eine einfachere Methode für oder sollte ich nochmal das Konzept der Seite überarbeiten und das ganze etwas umstrukturieren?
Danke schonmal für Vorschläge, ich bin offen für alles
Henri
ich bin relativ neu im Webdesign und bin aktuell dabei, die Homepage meiner Gilde (die ich auch ursprünglich geschrieben habe) komplett zu überarbeiten. Das ganze soll jetzt deutlich dynamischer und leichter zu pflegen sein.
Vorher hatte ich für jede Seite eine eigene PHP-Datei, dazu kamen sämtliche Config-Files und Includes wie Header, Footer etc. Da hatte ich aber das Problem, dass ich bei jeder einzelnen Seite immer wieder das Menü statisch einpflegen musste und sobald ich dort z.B. etwas ändern wollte, einmal durch alle Seiten durch musste und manuell überall die Änderung eintragen musste. Ebenfalls wurde beim Aufruf des User-internen Bereichs der Seite immer alles geladen, und dann wurde lediglich per Buttondruck in einem Untermenü der entsprechende Teil eingeblendet und alles andere ausgeblendet => Das war sehr unschön und unperformant!
Nun habe ich mir ein neues System überlegt, wobei ich aber noch ein paar Fragen habe. Eigentlich habe auch nicht ich mir dieses Prinzip überlegt, es ist wohl sehr verbreitet. Man schreibt eine index.php, in die alles wie das Menü, der Header, der Footer etc. reinkommt. Dazu wird dann lediglich der Content aus einer ausgelagerten Datei geladen und fertig ist die Seite (Wie eine kleine Art eines CMS). Bisher sieht meine index.php wie folgt aus:
<?php
session_start();
require_once("config.php");
require_once("functions.php");
if(isset($_GET["page"]) == true) {
$parameter["page"] = $_GET["page"];
} else {
$parameter["page"] = "default";
}
$page["content"] = getPage($parameter["page"]);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $page_title; ?> - Hordentlich Vendetta</title>
<?php require_once("header.php"); ?>
</head>
<body>
<div id="header-wrapper">
<div id="header" class="container">
<div id="logo">
<span class="icon icon-cog"></span>
<h1><a href="/">Hordentlich Vendetta</a></h1>
</div>
<div id="menu">
<ul>
<li><a href="/" accesskey="1" title="">Home</a></li>
<li><a href="/about" accesskey="2" title="">About</a></li>
<li><a href="/downloads" accesskey="3" title="">Add-Ons</a></li>
<li><a href="/intern" accesskey="4" title="">Intern</a></li>
<li><a href="/kontakt" accesskey="5" title="">Kontakt</a></li>
</ul>
</div>
</div>
</div>
<?php include("error.php"); ?>
<?php echo $page["content"]; ?>
<?php require_once("footer.php"); ?>
</body>
</html>
(Ich kann den Code leider nicht in code-Tags hauen, da er sonst als HTML interpretiert wird und dementsprechend formatiert wird )
Jetzt ist mir aber nicht ganz klar, wie ich so Sachen wie den aktiven Menüpunkt oder den Header-Title am besten an die index.php übergeben kann. Liegt daran, dass ich den Content erst im body einbinde, der header ja aber schon vorher beschrieben werden muss. Klar könnte man die ganzen Daten in eine Datenbank oder so schreiben und dann beim Aufruf der Seite auslesen, finde ich aber doch sehr umständlich... Gibt es da eine einfachere Methode für oder sollte ich nochmal das Konzept der Seite überarbeiten und das ganze etwas umstrukturieren?
Danke schonmal für Vorschläge, ich bin offen für alles
Henri