Aloha ;)
nur ergänzend zu den anderen (sehr guten und ausführlichen) Antworten.
- Ich habe von 'dynamischen Webseitenvorlagen (dwt)' gelesen. Ist das für mein Projekt (mehr als 100 einzelne Seiten sinnvoll? 3.1 Wann entscheide ich mich für dwt? Bereits am Anfang der Planung der Website?
Zunächst: Ich hab mich noch nie mit dwt befasst. Deshalb diese meine Ergänzung: mein Mittel der Wahl um sowas, was du hier brauchst, zu machen, wäre PHP. (Kann sein ich weiß nur nicht genau wie genial dwt ist; ich will also nicht von dwt abraten, sondern nur eine Alternative aufzeigen.)
Mein Website wird nur Text enthalten. Viel Text. Jede verfasste Kurzgeschichte soll veröffentlicht werden.
a) Eine Möglichkeit ist, jede einzelne Story bekommt eine eigene Seite. Die Geschichte wird ausgewählt und der Browser springt zur verlinkten Seite.
GEHT SO ETWAS? Also rein HTML-technisch betrachtet.
Naja, rein HTML-technisch betrachtet geht das, aber nicht ohne erheblichen Aufwand bei jeder neu eingestellten Geschichte. Damit das sinnvoll funktioniert solltest du serverseitige Techniken benutzen. Wie das funktioniert erklär ich dir hier mal am Beispiel von PHP.
PHP (PHP Hypertext Preprocessor) ist, wie der Name schon sagt, ein Präprozessor für HTML. Das bedeutet, einfach ausgedrückt, dass PHP nach vorgegebenen Regeln ein HTML-Dokument zusammenstellt - das besondere dabei ist, dass PHP als serverseitige Sprache Zugriff zu allen Informationen hat, die auf dem Server liegen. Dadurch lassen sich ganz einfach Seiten bauen, die vollautomatisch funktionieren.
Am Beispiel deiner Anforderungen: Du hast primär zwei Dinge, die auf deiner Seite dynamisch sein soll(t)en: Die Navigation (diese soll immer alle Geschichten enthalten, und das möglichst ohne bei jeder Neuerscheinung alle Seiten ändern zu müssen) und den Seiteninhalt (je nach URL soll hier eine andere Geschichte eingebunden werden). Das Drumherum (stilistische Elemente, Seitengrundstruktur, ..., alles was nicht von der ausgewählten Geschichte abhängt) kann und soll statisch vorliegen.
Eine Herangehensweise für ein einziges PHP-Dokument, das deine gesamte Homepage übernimmt (!) wäre zum Beispiel diese:
1.: statische HTML-Inhalte in ein Dokument mit Dateiendung .php packen
2.: erzeuge die Navigation vollautomatisch (z.B.: Abfrage des Verzeichnisinhalts für das Verzeichnis, in dem deine Geschichten liegen und dann durch for-Schleife für jede gefundene Datei einen Navigationseintrag ausgeben)
3.: werte im Dokument durch PHP die URL aus (um herauszubekommen, welche Geschichte denn jetzt ausgeliefert werden soll)
4.: lade die Daten der Geschichte aus der Datei und füge sie an der entsprechenden Stelle ein
Das ist durch PHP alles einfach möglich; der PHP-Anteil im genannten Dokument sollte sich sogar noch deutlich im Rahmen von unter 100 Zeilen halten.
Jetzt ist es natürlich ein bissl doof - jetzt hast du mit CSS und HTML schon zwei Sprachen neu gelernt und jetzt soll gleich die dritte hinterherkommen ;) Aber halt, das hat noch Zeit, denn:
3.1 Wann entscheide ich mich für [serverseitige Sprache der Wahl einfügen]? Bereits am Anfang der Planung der Website?
Ja, man sollte sich besser am Anfang für die Nutzung entscheiden. Man muss zu diesem Zeitpunkt die [serverseitige Sprache der Wahl] allerdings noch nicht unbedingt sprechen (sofern man das Problem vorausschauend angeht).
Mein Vorschlag (der insbesondere dann gilt, wenn du dich für PHP entscheidest): Zunächst nimmst du dir eine Geschichte und baust daran nur mit HTML und CSS eine runde Sache, die dir gefällt.
Sobald du damit dann fertig bist, beschäftigst du dich mit PHP - und wenn das nicht deine erste Programmiersprache ist musst du PHP für deine Anforderungen nicht mal wirklich lernen; grundsätzliche Syntaxkenntnis und Kenntnis von ein-zwei Funktionen (z.B. file_get_contents und scandir) sollte vollkommen ausreichen - da kann dir gern auch von meiner Seite kräftig unter die Arme gegriffen werden.
TL;DR: HTML und CSS an einer Beispielgeschichte zur Zufriedenheit bauen und dann nochmal melden, dann betten wir das gemeinsam in PHP ein, um eine volldynamische, zufriedenstellende Sache zu erhalten.
b) Die andere IDEE ist: Man wählt eine Story aus und der Browser holt die Story aus einer TXT-Datei und bindet sie in einer vorhandenen Seite ein. Wenn die nächste Geschichte aufgerufen wird, holt der Browser diese TXT-Datei und überschreibt die Seite mit der gerade eben gelesenen. Versteht ihr, was ich meine? Dann bräuchte ich keine 100 Seiten 'anhängen' sondern könnte immer nur die EINE Seite zur Präsentation der Story nutzen.
Hier muss ich Gunnar vollkommen rechtgeben; eine Single Page Application (aka der Vorschlag mit dem dynamischen Nachladen) hat hier aus meiner Sicht keine nennenswerten Vorteile und bedingt nur weiteren Aufwand (zusätzlich zur serverseitigen Verarbeitung, die sowieso ansteht, müsstest du auch noch mit JavaScript / AJAX rumhantieren - doof). Theoretisch möglich wäre es schon. Aber, again, ist es viel einfacher eine normale Seite ordentlich zu machen als eine Single Page Application richtig zu machen; die mögliche Fehlerdichte (bezüglich User Experience für den eher unerfahrenen Webentwickler) ist hier ungleich höher.
Grüße,
RIDER
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller Erreichbar manchmal im Self-TS (ts.selfhtml.org) oder sonst - wenn online - auf dem eigenen TeamSpeak-Server (fritz.campingrider.de) oder unter: # Facebook # Twitter # Steam # YouTube # Self-Wiki # ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[