Projektziel:
Das Ziel war es eine Homepage nach dem Stand der Technik aufzubauen, das heißt:
Design & Strukturierung:
Man findet unendlich viele Seiten im Internet über HTML-Code und PHP aber nur sehr wenige über die Designfindung. Folgende Seite hat mir da sehr weitergeholfen:
Licht ins Dunkle der Positionierung von DIV-Containern brachte folgende Seite:
Die Positionierung der Container mit CSS
Die angegebene Seite bringt euch natürlich nur weiter wenn ihr gleichzeitig den HTML-Quelltext betrachtet (Menü: View/Source o.ä.).
Damit der Header und die Menüleiste immer gleich aussehen und ich kein unprofessionelles Copy-Pasting machen musste, wurden der Header und die Menüleiste mit dem PHP-Befehl include eingebunden. Siehe PHP-Quellcode weiter unten.
CSS:
Über den Sinn und Zweck von CSS sowie dessen Verwendung gibt es mehr als ausreichend Seiten im Internet. So ask Google!
Mehrsprachige Gestaltung der Seiten:
Klickt man auf einen meiner Sprachlinks, so wird die aktuelle Seite mit einem entsprechenden Parameter aufgerufen. Die folgende URL bewirkt zum Beispiel, dass die Seite Homepage.php aufgerufen wird und während der Erzeugung der Seite die Variable $_GET["language"] mit dem Wert "EN" zur Verfügung steht.
http://www.loullingen.lu/projekte/Homepage/Homepage.php?language=EN
Die URL der aktuellen Seite erhält man übrigens automatisch über die PHP-Variable $_SERVER['PHP_SELF'], so dass man diese nicht in jeden Sprachenlink manuell einprogrammieren muss.
Damit beim Wechseln von einer Seite zu einer anderen die Information über die gewählte Sprache nicht verloren geht, wird die Sprachwahl zusätzlich in einer Session-Variable gespeichert, über die Informationen zwischen Seiten ausgetauscht werden können. In meinem Fall heißt diese Variable zum Beispiel $_SESSION["GewaehlteSprache"].
Beim Aufbau der Seite wird nun durch eine PHP-IF-Struktur abhängig vom Wert der Session-Variable der Text in der entsprechende Sprache ausgegeben.
Zusätzlich habe ich noch die Möglichkeit integriert für jede Seite angeben zu können in welcher Sprache sie zur Verfügung steht und dementsprechend nur die Sprachlinks derjenigen Übersetzungen anzuzeigen die auch vorhanden sind. Die Einstellung der zur Verfügung stehenden Sprachen erfolgt über ein PHP-Variablen-Array das logischerweise für jede Seite definiert werden muss, z.B.
$VerfuegbareSprachen = array("DE" => "ja", "FR" => "nein", "EN" => "nein");
PHP-Quellcode meiner Vorlagenseite:
<?php
session_start();
// verfügbare Sprachen für diese Seite
$VerfuegbareSprachen = array("DE" => "ja",
"FR" => "nein",
"EN" => "nein");
include("include/language_management.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<?php
if ($_SESSION["GewaehlteSprache"] == "DE")
{
?>
<meta http-equiv="content-language" content="de">
<title>Vorlage</title>
<?php
}
elseif ($_SESSION["GewaehlteSprache"] == "FR")
{
?>
<meta http-equiv="content-language" content="fr">
<title>Modèle</title>
<?php
}
elseif ($_SESSION["GewaehlteSprache"] == "EN")
{
?>
<meta http-equiv="content-language" content="en">
<title>Template</title>
<?php
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="styles/styles.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="/images/icon.ico" />
</head>
<body>
<div id="page_container">
<?php include("include/top.php"); ?>
<div id="page">
<?php include("include/menue_projekte.php"); ?>
<div id="right">
<div class="pg_itm">
<?php
if ($_SESSION["GewaehlteSprache"] == "DE")
{
?>
<div class="hd">Titelzeile</div>
<p><b>Projektziel:</b></p>
<p>Text</p>
<?php
}
elseif ($_SESSION["GewaehlteSprache"] == "FR")
{
?>
<div class="hd">Titre</div>
<p><b>But du projet:</b></p>
<p>Text</p>
<?php
}
elseif ($_SESSION["GewaehlteSprache"] == "EN")
{
?>
<div class="hd">Titel</div>
<p><b>Project goal:</b></p>
<p>Text</p>
<?php
}
?>
</div>
<div class="clear">
</div>
</div>
<div class="clear">
</div>
</div>
<?php include("include/footer.php"); ?>
</div>
</body>
</html>
PHP-Quellcode der Datei language_management.php:
<?php
// Wenn die Seite mit einem language-Parameter aufgerufen wurde, dann ...
if (isset($_GET["language"]))
{
// ... die Sprache auf die geforderte Sprache setzen.
$_SESSION["GewaehlteSprache"] = $_GET["language"];
}
// Wenn keine Sprache beim Aufruf der Seite gefordert wurde und
// keine Sprache bereits davor festgelegt wurde, dann ...
if (!isset($_GET["language"]) && !isset($_SESSION["GewaehlteSprache"]))
{
// ... Deutsch als Standardsprache wählen
$_SESSION["GewaehlteSprache"] = "DE";
}
// Wenn die gewählte Sprache nicht verfügbar ist, dann ...
if ($VerfuegbareSprachen[$_SESSION["GewaehlteSprache"]] == "nein")
{
// ... Deutsch wählen, wenn diese Sprache verfügbar ist.
if ($VerfuegbareSprachen["DE"] == "ja")
{
$_SESSION["GewaehlteSprache"] = "DE";
}
// ... ansonsten Französisch wählen, wenn diese Sprache verfügbar ist.
elseif ($VerfuegbareSprachen["FR"] == "ja")
{
$_SESSION["GewaehlteSprache"] = "FR";
}
// ... ansonsten Englisch wählen, wenn diese Sprache verfügbar ist.
elseif ($VerfuegbareSprachen["EN"] == "ja")
{
$_SESSION["GewaehlteSprache"] = "EN";
}
}
?>
PHP-Quellcode der Datei top.php:
<div id="top_line">
</div>
<div id="logo">
<img src="/images/header_logo.gif" height="80">
</div>
<div id="header">
<?php
if ($_SESSION["GewaehlteSprache"] == "DE")
{
echo "Claude Loullingen<br>";
echo "<span class='slogan'>Nutze die Zeit. Du bist, was du erschaffst.</span>";
}
elseif ($_SESSION["GewaehlteSprache"] == "EN")
{
echo "Claude Loullingen<br>";
echo "<span class='slogan'>Let no grass grow under your feet. You are what you create.</span>";
}
elseif ($_SESSION["GewaehlteSprache"] == "FR")
{
echo "Claude Loullingen<br>";
echo "<span class='slogan'>Exploite ton temps. Tu es ce que tu crées.</span>";
}
?>
</div>
<div class="clear">
</div>
<div id="main_menu">
<div id="language_box">
<?php
$SprachName = array("DE" => "Deutsch",
"EN" => "English",
"FR" => "Français");
foreach ($VerfuegbareSprachen as $SprachenAbkuerzung => $Verfuegbarkeit)
{
if ($Verfuegbarkeit == "ja")
{
if ($SprachenAbkuerzung == $_SESSION["GewaehlteSprache"])
{
echo "<a class='active' href='".$_SERVER['PHP_SELF']."?language=".$SprachenAbkuerzung."' title='".$SprachName[$SprachenAbkuerzung]."'>".$SprachenAbkuerzung."</a>";
}
else
{
echo "<a href='".$_SERVER['PHP_SELF']."?language=".$SprachenAbkuerzung."' title='".$SprachName[$SprachenAbkuerzung]."'>".$SprachenAbkuerzung."</a>";
}
}
}
?>
</div>
<?php
if ($_SESSION["GewaehlteSprache"] == "DE")
{
// if current page is main page, then highlight Home link
if ($_SERVER['PHP_SELF'] == "/index.php")
{
echo("<a class='active' href='/'>Home</a>");
}
else
{
echo("<a href='/'>Home</a>");
}
if (($_SERVER['PHP_SELF'] == "/projekte.php") OR (explode('/', $_SERVER['PHP_SELF'])[1] == "projekte"))
{
echo("<a class='active' href='/projekte.php'>Projekte</a>");
}
else
{
echo("<a href='/projekte.php'>Projekte</a>");
}
if (($_SERVER['PHP_SELF'] == "/unterrichtsunterlagen.php") OR (explode('/', $_SERVER['PHP_SELF'])[1] == "unterrichtsunterlagen"))
{
echo("<a class='active' href='/unterrichtsunterlagen.php'>Unterrichtsunterlagen</a>");
}
else
{
echo("<a href='/unterrichtsunterlagen.php'>Unterrichtsunterlagen</a>");
}
if ((explode('/', $_SERVER['PHP_SELF'])[1]) == "meteo")
{
echo("<a class='active' href='/meteo/rain_alarm.php'>Wetter</a>");
}
else
{
echo("<a href='/meteo/rain_alarm.php'>Wetter</a>");
}
if ($_SERVER['PHP_SELF'] == "/kontakt.php")
{
echo("<a class='active' href='/kontakt.php'>Kontakt</a>");
}
else
{
echo("<a href='/kontakt.php'>Kontakt</a>");
}
}
elseif ($_SESSION["GewaehlteSprache"] == "EN")
{
// if current page is main page, then highlight Home link
if($_SERVER['PHP_SELF'] == "/index.php")
{
echo("<a class='active' href='/'>Home</a>");
}
else
{
echo("<a href='/'>Home</a>");
}
if (($_SERVER['PHP_SELF'] == "/projekte.php") OR (explode('/', $_SERVER['PHP_SELF'])[1] == "projekte"))
{
echo("<a class='active' href='/projekte.php'>Projects</a>");
}
else
{
echo("<a href='/projekte.php'>Projects</a>");
}
if (($_SERVER['PHP_SELF'] == "/unterrichtsunterlagen.php") OR (explode('/', $_SERVER['PHP_SELF'])[1] == "unterrichtsunterlagen"))
{
echo("<a class='active' href='/unterrichtsunterlagen.php'>Courses</a>");
}
else
{
echo("<a href='/unterrichtsunterlagen.php'>Courses</a>");
}
if ((explode('/', $_SERVER['PHP_SELF'])[1]) == "meteo")
{
echo("<a class='active' href='/meteo/rain_alarm.php'>Weather</a>");
}
else
{
echo("<a href='/meteo/rain_alarm.php'>Weather</a>");
}
if ($_SERVER['PHP_SELF'] == "/kontakt.php")
{
echo("<a class='active' href='/kontakt.php'>Contact</a>");
}
else
{
echo("<a href='/kontakt.php'>Contact</a>");
}
}
elseif ($_SESSION["GewaehlteSprache"] == "FR")
{
// if current page is main page, then highlight Home link
if($_SERVER['PHP_SELF'] == "/index.php")
{
echo("<a class='active' href='/'>Home</a>");
}
else
{
echo("<a href='/'>Home</a>");
}
if (($_SERVER['PHP_SELF'] == "/unterrichtsunterlagen.php") OR (explode('/', $_SERVER['PHP_SELF'])[1] == "unterrichtsunterlagen"))
{
echo("<a class='active' href='/unterrichtsunterlagen.php'>Cours</a>");
}
else
{
echo("<a href='/unterrichtsunterlagen.php'>Cours</a>");
}
if ((explode('/', $_SERVER['PHP_SELF'])[1]) == "meteo")
{
echo("<a class='active' href='/meteo/rain_alarm.php'>Météo</a>");
}
else
{
echo("<a href='/meteo/rain_alarm.php'>Météo</a>");
}
if ($_SERVER['PHP_SELF'] == "/kontakt.php")
{
echo("<a class='active' href='/kontakt.php'>Contact</a>");
}
else
{
echo("<a href='/kontakt.php'>Contact</a>");
}
}
?>
</div>
<div class="clear">
</div>
Stand:
zuletzt aktualisiert am:
besteht seit: 16.08.2011