Workshop - dynamische Master- und Detailseiten
zur übergeordneten Seite
 

zum Seitenanfang
Worum geht es ?
einen Abschnitt zurückeinen Abschnitt weiter
dynamische Seiten Eine der häufigsten Aufgaben auf einer dynamischen Homepage ist das automatische Generieren von Master- und Detail-Seiten, auf denen die jeweils aktuellsten Beiträge angekündgt und präsentiert werden.
Masterseite Auf einer Masterseite erscheint eine Übersicht der aktuell verfügbaren Artikel zu einem bestimmten Thema.
Zu jedem Artikel gibt es ein Datum, einen kurzen Text zur Inhaltsübersicht, den sogenannten Teaser und oft ein kleines Bild als Blickfang. Jeder dieser Artikel kann per Link angewählt werden, um eine Detailseite mit dem vollständigen Inhalt anzeigen zu lassen.
Detailseite Die Detailseite enthält den kompletten Artikel, hierzu gehören neben dem kompletten Text auch weitere (große) Bilder nebst Bildunterschriften, Angaben zu Autor und Quelle und evtl. externe Links zur Vertiefung der Thematik.
Ein Link führt zurück zur Masterseite.
Realisierung

Zur Realisierung brauchen wir

  • eine Liste in unserer Datenbank, die alle nötigen Angaben enthält und die wir im einfachsten Fall mit PHPmyAdmin pflegen und aktualisieren,
  • eine Masterseite, auf der nach festgelegten Kriterien einige Felder von ausgewählten Datensätzen dargestellt werden,
  • eine Detailseite, die nach Übergabe einer Datensatznummer nur die Inhalte dieses ausgewählten Datensatzes darstellt.

zum Seitenanfang
Datenbank vorbereiten
einen Abschnitt zurückeinen Abschnitt weiter
neue Liste

Rufe nach Starten deines Webservers (xampp_start) im Browser das Tool PHPmyAdmin auf.
Wähle die Datenbank schule und lege hier eine neue Tabelle aktuell an.

Du brauchst für unser Beispiel 14 Felder

neue Felder

Definiere in der Tabelle die folgenden Felder:

Feld Typ Länge Null  
id int 4 not null (autoincrement, index)
titel varchar 120 not null Überschrift des Artikels
teaser varchar 300 not null kurze Zusammenfassung
inhalt text   null der gesamte Text
datum date   not null Erscheinungsdatum
quelle varchar 40 null Fundort
autor varchar 40 null Verfasser
bildklein varchar 80 null Dateiname des kleinen Bildes
bildgross varchar 80 null Dateiname des großen Bildes
bildtext varchar 120 null Bildunterschrift
url varchar 120 null externer Link
urltext varchar 120 null Text für externen Link
ok char 1 null bereit zur Veröffentlichung, falls nicht NULL
stempel timestamp   not null automatischer Zeitstempel der letzten Änderung

Felder mit null müssen nicht mit Inhalt gefüllt werden, hiermit vermeidest du Fehlermeldungen, falls ein Artikel kein Bild enthält oder der Inhaltstext nur als eingescanntes Bild vorliegt.
Bei den Bild-Feldern ist es jedoch besser, statt des NULL-Wertes als Voreinstellung in die Datenbank ein Platzhalterbild (blindgif.gif; 1 x 1 Pixel durchsichtig) einzufügen, um entsprechende Fehlermeldungen bzw. unschöne Darstellungen im Browser zu vermeiden.

Daten einfügen

Fülle nun mindestens drei Datensätze mit Testdaten, hierfür kannst du längere Inhaltstexte aus deiner Textverarbeitung in das entsprechende Eingabefeld kopieren; allerdings gehen dabei alle Textformatierungen verloren. Du kannst aber im Text beliebige HTML-Tags zur Gestaltung einfügen.

Besonders einfach ist es, den Wordtext zunächst in ein leeres Dreamweaver-Dokument zu importieren und dann den entsprechenden Teil des Quellcodes zu kopieren und in die Datenbank einzufügen.

Bilder hochladen

 


  

 


Die Bilder liegen nicht direkt in der Datenbank, sondern auf dem Server im gleichen Verzeichnis wie die beiden aufrufenden Seiten.
Du musst sie mit Hilfe von Dreamweaver oder eines beliebgen FTP-Programms auf einen externen Server übertragen; in der Testumgebung auf deinem Rechner kannst du die Dateien allerdings auch direkt in das entsprechende Verzeichnis kopieren.

Das Übertragen der Bilder zum Server geht folgendermaßen:
Wähle die zu übertragenden Dateien rechts im Dateifenster aus, verbinde dich per Button mit dem externen Server (den hast du bei der Einrichtung deiner Site bereits angegeben) und klicke nach stehender Verbindung auf den Upload-Button.


zum Seitenanfang
Erstellen der Masterseite
einen Abschnitt zurückeinen Abschnitt weiter
Zwei neue Seiten Erstelle in Dreamweaver eine neue PHP-Seite (Datei - Neu - dynamische Seite - PHP), verbinde sie mit deiner Datenbank (Fenster - Datenbanken ; localhost / root / - / schule). Speichere sie einmal unter dem Namen aktuelldetail.php und danach gleich nochmal unter dem Namen aktuellmaster.php (Datei - Speichern unter...) in deinem ausgewählten Verzeichnis.
Datenbank-Anbindug

Erstelle für de nun aktive Masterseite (aktuellmaster.php) eine Datensatzgruppe (Fenster - Bindungen) mit den Einstellungen:

  • Name: Recordset1
  • Verbindung: schule
  • Tabelle: aktuell
  • Spalten: alle
  • Filter: ok <> (eingegebener Wert) NULL
  • Sortieren: datum-absteigend .

(Hinweis: Datensätze in denen das Feld ok den Wert NULL enthält, sind noch nicht oder nicht mehr zur Veröffentlichung freigegeben.)

Seitengestaltung

Gestalte die Masterseite entsprechend deinen Vorstellungen, verwende aber am besten eine zweizeilige Tabelle, von der du die zweite Zeile als wiederholten Bereich planst.

Bild

Füge mit Einfügen - Grafikobjekte- Bildplatzhalter einen Platzhalter für das Bild in die Tabelle ein. Ziehe dann aus dem Fenster Bindungen das Feld bildklein, der den Dateinamen des Bildes enthält, mit der Maus auf den Bildplatzhalter.

Auf der Masterseite ist es sinnvoll, bei den Bildern eine feste Größe zu erzwingen (Eingabe von B und H im Eigenschaftenfenster für den Platzhalter.).

Link zur Detailseite

Markiere deinen Link-Text (mehr...) und verlinke ihn unten im Eigenschaftenfenster mit der vorhin gespeicherten leeren Datei aktuelldetail.php. Klicke auf das Ordnersymbol neben dem Hyperlinkfeld und klicke dann im erscheinenden Dateifenster unten rechts auf Parameter... . Gib in das Namenssfeld CONT_ID ein,klicke dann rechts in den leeren Bereich und dann auf das erscheinende Blitzsymbol und wähle dann das Feld id . Bestätige deine Eingaben mit OK (mehrmals).

wiederholter Bereich Markiere nun die zweite Zeile deiner Tabelle und füge im Fenster Anwendung das Serververhalten Bereich wiederholen ein.
fertige Seite

Die fertige Seite könnte in Dreamweaver etwa so aussehen:

und im Browser mit dynamisch eingefügtem Inhalt dann so:


zum Seitenanfang
Erstellen der Detailseite
einen Abschnitt zurückeinen Abschnitt weiter
Öffnen Öffne die vorhin gespeicherte Seite aktuelldetail.php
Datenbank-Anbindung

Erstelle eine Datensatzgruppe (Fenster - Bindungen) mit den Einstellungen: Name: Recordset1, Verbindung: schule, Tabelle: aktuell, Spalten: alle, Filter: id = URL-Parameter CONT_ID, Sortieren: Keine .

 

Seitengestaltung

Gestalte nun die Seite nach deinen Vorstellungen und füge alle benötigten Datenbankfelder ein.
Vergiss nicht, einen ganz normalen Link zurück auf deine Masterseite zu setzen.

Die fertige Seite könnte in Dreamweaver etwa so aussehen:

und im Browser mit dynamisch eingefügtem Inhalt dann so:


zum Seitenanfang
mögliche Erweiterungen
einen Abschnitt zurückeinen Abschnitt weiter
Datum formatieren Du kannst die Datumsfelder formatieren und den automatisch berechneten Wochentag mit ausgeben, wenn du vor dem Quelltext nicht zurückschreckst. Wie es geht, steht im zweiten Teil diese Kurses (Erweiterte dynamische Datenausgabe mit Dreamweaver).
Eingabeseite Du kannst dir - wie im ersten Teil (Dynamische Webseiten mit Dreamweaver) beschrieben eine Eingabeseite basteln, solltest dann aber unbedingt die dort gemachten Sicherheitshinweise beachten.
alles auf einer Seite

Mit ein wenig PHP-Kenntnissen könntest du Masterseite und Detailseite zu einer einzigen Seite verschmelzen; überhaupt könntest du mit ganz wenig PHP auf deiner Seite ganz viel zaubern

Aber das ist eine andere Geschichte - und die soll ein anderes Mal erzählt werden. ;-)


zum Seitenanfang
Verwandte Themen
einen Abschnitt zurück
 

 


 
  letzte Aktualisierung:  11.09.2005 13:29


zusammengestellt von Peter Lepke ;    lepke@nils.nibis.de