EDV:WebSeitenEditieren: Difference between revisions

From KIP Wiki
⧼kip-jumptonavigation⧽⧼kip-jumptosearch⧽
No edit summary
No edit summary
Line 217: Line 217:
$subpath = "/user/weis/demo/mathematica/";
$subpath = "/user/weis/demo/mathematica/";
$pathway .= " &gt; <a href='/user/weis/demo/mathematica/'>°gMathematica Einführung°eIntroduction to Mathematica°n</a>";
$pathway .= " &gt; <a href='/user/weis/demo/mathematica/'>°gMathematica Einführung°eIntroduction to Mathematica°n</a>";
$title="°gKirchhoff-Institut f&uuml;r Physik°eKirchhoff Institute for Physics°n - Robert Weis - °gMathematica Einführung°eIntroduction to Mathematica°n";
</pre>
</pre>



Revision as of 07:34, 12 March 2007

KIP-Webseiten editieren

Die Basis - Für einfache Webseiten

Das Layout

Damit Sie nicht bei jeder Webseite über die Details des Layouts nachdenken müssen und - vor allem - bei Layout-Änderungen nicht alle Webseiten anpassen müssen brauchen wir eine Trennung von Layout und Inhalt. Wir erreichen dies mit Hilfe von PHP. Das Layout mit dem Rahmen wird dafür in einen header und in einen footer getrennt. Diese werden mit

include("header.php.inc");

bzw.

include("footer.php.inc");

eingebunden. Dazwischen wird der Inhalt plaziert.


Damit sieht eine typische PHP-Webseite im Quelltext so aus:

<?php
 
include("header.php.inc");

?>
<h1>Überschrift</h1>
Text...
<?php

include("footer.php.inc");

?>

Bearbeiter / Kontakt-Email

Am Fuss der Seite wird ggfs. ein Bearbeiter genannt. Um diese Angabe zusammen mit der E-Mail-Adresse und dem Seitentitel anzupassen ändern wir den Dateikopf in

<?php
 
  include("header.php.inc");

  $contact="Robert Weis";
  $contactemail="weis@kip.uni-heidelberg.de";

  $title="Seitentitel";

?>

Wichtig ist, dass diese Variablen nach dem include("header") plaziert werden.

Mehrsprachigkeit

ist eigentlich Zweisprachigkeit. Es geht darum, dass wir eigentlich die Webseiten auf deutsch und auf englisch anbieten möchten. Wir möchten aber nicht zwei Dateien betreuen. Als Lösung hilft hier wieder PHP. Deutsche und englische Texte werden jetzt nebeneinander eingeben:

Die Syntax ist

°gdeutscher Text°eenglish text°n

also immer in der Kombination

°g°e°n

Zwischen °g und °e steht der deutsche Text und zwischen °e und °n der englische Text.

In unserem Beispiel sieht das so aus:

<?php
 
  include("header.php.inc");

  $contact="Robert Weis";
  $contactemail="weis@kip.uni-heidelberg.de";

  $title="°gSeitentitel°epage title°n";

?>
<h1>°gÜberschrift°eCaption°n</h1>
°gdeutscher Text°eenglish text°n...
<?php

include("footer.php.inc");

?>

Die Übersetzung des Layout-Rahmens geschieht automatisch.

Die anzuzeigende Sprache wird über die Eigenschaften des Browser ermittelt. Wenn der Client englisch eingestellt hat erscheint die englische Variante, sonst die deutsche.

Über den Sprachwähl-Link rechts oben kann die Sprache auch explizit gewählt werden.

Komplexere Einstellungen

Übder diese Basis-Funktionalität hinaus gibt es noch einige Methoden Navigation, Pfadangabe usw. zu beinflussen. Die Art und Weise wie das geschieht ist zur Zeit noch etwas im Fluss.

Die Navigation ist der Bereich links mit Hauptpunkten und unter jedem Hauptpunkt ist (üblicherweise) ein Untermenu.

Der Pfad steht ganz oben im Inhaltsbereich und zeigt, wo man sich im Web-Baum befindet. Jeder Teilast sollte ein Link zu dem dortigen Bereich sein.

Hauptpunkt in der Navigation hervorheben

Die Navigation ist der Bereich links mit Hauptpunkten und unter jedem Hauptpunkt ein Untermenu. Normalerweise wird über den URL ermittelt, welcher Hauptpunkt geöffnet ist. Wenn das aus dem URL nicht ermittelt werden kann bzw. wenn man einfach die Öffnung eines Hauptpunktes erzwingen möchte, kann man mit $mainpath="[hauptpunkt]"; VOR dem include('header.php.inc') einen Hauptpunkt öffnen. Im header wird das Menu aufgebaut, daher muss diese Variable VOR dem header stehen.

Beispiel:

<?
$mainpath="people";
include('header.php.inc')

Eigene Navigation definieren

Die Navigation ist über ein Array definiert.

$struktur = array(
);

Das Logo ist das Bild direkt über der Navigation. Typischerweise ist das ein Bild mit einer Breite von 204 Pixeln, Über die Variable $instlogo kann das Logo ersetzt werden.

Beispiel

<?
$instlogo="<img src=pfadzumeinemlogo.gif border=0 alt='Mein Logo'>";

wieder 'VOR dem header!

Den Pfad verändern

<?
$addtopathway = " &gt; <a href='neu.php'>°gNeu°eNew°n</a>";
?>

Einstellungen für ein Verzeichnis

Alle Einstellungen können Sie auch 'lokal' für ein Verzeichnis allen dortigen php-Dateien über die Include-Datei 'localsettings.php.inc' definieren. Sie brauchen sich dann auch keine Gedanken mehr darüber machen, ob eine Variable vor oder nach dem Header definiert werden muss. Hier kann man auch den vollständigen Pfad (Variable $pathway) überschreiben.

Beispiel:

 <?
 // localsettings.php.inc
 $contact="Robert Weis";
 $contactemail="weis@kip.uni-heidelberg.de";
 
 $instlogo="<img src=/user/weis/demo/meinlogo°g°e_en°n.gif border=0 alt='Mein Logo'>";
 $title = "KIP - Robert Weis - °gMeine Seiten°eMy Pages°n
 $pathway = "<a href='/'>KIP</a>";
 $pathway .= " > <a href='/user/weis/'>Robert Weis</a>";
 $pathway .= " > <a href='/user/weis/demo/'>Demo</a>";
 
 $struktur = array(
   "KIP" => array (
      "name" => "KIP",
      "index" => "1",
      "path" => "/",
      ),
   "/user/weis/demo/" => array (
      "name" => "°gMeine Seiten°eMy Pages°n",
      "index" => "2",
      "path" => "/user/weis/demo/",
      "submenu" = array (
            "/user/weis/demo/mathematica/" => "°gMathematica Einführung°eIntroduction to Mathematica°n"
            "/user/weis/demo/latex/" => "L<sup>A</sup>T<sub>E</sub>X - Links"
          ),
      ),
   "/user/weis/demo/extlinks/" => array (
      "name" => "°gExterne Links°eExternal Links°n",
      "index" => "3",
      "path" => "/user/weis/demo/extlinks",
      "submenu" = array (
            "http://www.uni-heidelberg.de" => "°gUniversität Heidelberg°eUniversity of Heidelberg°n"
            "http://www.physik.uni-heidelberg.de" => "°gFakultät für Physik und Astronomie°eDepartment of Physics and Astronomy°n"
            "http://google.de" => "Google"
          ),
      ),
 );

Beispiel

Die oben beschriebene localsettings.php.inc habe ich unter der URL http://newdesign.kip.uni-heidelberg.de/user/weis/demo/ zu einem vollständigen Beispiel ausgebaut.

Zunächst die Hauptseite demo/index.php :

<?
  include("header.php.inc");
?>
 
 <h1>°gMeine Seiten°eMy pages°n</h1>

<?
  include("footer.php.inc");

demo/mathematica/localsettings.php.inc :

<?
include("../localsettings.php.inc");
$subpath  = "/user/weis/demo/mathematica/";
$pathway .= " > <a href='/user/weis/demo/mathematica/'>°gMathematica Einführung°eIntroduction to Mathematica°n</a>";
$title="°gKirchhoff-Institut für Physik°eKirchhoff Institute for Physics°n - Robert Weis - °gMathematica Einführung°eIntroduction to Mathematica°n";

demo/latex/localsettings.php.inc :

<?
include("../localsettings.php.inc");
$subpath  = "/user/weis/demo/latex/";
$pathway .= " > <a href='/user/weis/demo/latex/'>L<sup>A</sup>T<sub>E</sub>X</a>";

demo/extlinks/index.php :

<?
  include("header.php.inc");
?>
 
 <h1>°gMeine Seiten°eMy pages°n - °gExterne Links°eExternal Links°n</h1>

<?
  show_subindex("");
  include("footer.php.inc");

demo/extlinks/localsettings.php.inc :

<?
include("../localsettings.php.inc");

$mainpath="extlinks";
$pathway .= " > <a href='/user/weis/demo/extlinks/'>°gExterne Links°eExternal Links°n</a>";