Wie kann ich Frames umgehen

Liebe/-r Experte/-in,

ich habe folg. Problem: ich sammle seit Jahren auf der website http://fotito.bplaced.net/ Urlaubsbilder. In der oberen Leiste gibt es eine Navigationsleiste, mit der man die einzelnen Urlaubseinträge anwählen kann. Auf jeder einzelnen Seite der Website ist eine Kopie dieser Navigationsleiste (keine Frames).

Nun zum Problem: kommt ein neuer Eintrag hinzu, muss die Navigationsleiste um den Eintrag „Urlaub XXX“ erweitert werden. Das heißt, sie muss auf jede der schon bestehenden Seiten aktualisiert werden (copy - paste)… das kostet Zeit!

Frage: gibt es eine Möglichkeit -ohne Frames- diesen Prozess des manuellen aktualisierens zu umgehen? Sowas wie css? Irgendeine Möglichkeit, dass diese Leiste irgendwo hinterlegt ist und man in die Seite nur die Adresse der Leiste eingibt, sodass die Seite immer auf das EINE Original zugreift?

Für Tipps jeder Form vielen Dank!
Tobias

Hallo Tobias,

da gibt es verschiedene Möglichkeiten:

  1. Server Side Includes (SSI)
    SSIs ermöglichen das direkte Einbinden anderer HTML- (oder Script-)Dateien. Mit der Anweisung

würdest du die Datei menu.html an der entsprechenden Stelle in Deinem HTML-Dokument einfügen lassen.

SSIs müssen von Deinem Webhoster unterstützt werden.

Nähere Informationen zu SSIs findest Du hier:
http://de.selfhtml.org/servercgi/server/ssi.htm

  1. PHP Include
    Mit PHP ist das Einbinden ebenfalls recht einfach:
<?php include("menu.php"); ?>

Auch hier wird wie schon zuvor beim SSI die Datei direkt an die entsprechende Stelle eingefügt.

PHP muss ebenfalls von Deinem Webhoster unterstützt werden.

  1. JavaScript Include Menu
    Hast Du weder die Unterstützung für SSI noch für PHP (oder andere Scriptsprachen) so bleibt nur noch ein JavaScript-Menü, das Du einfach auf allen Seiten einbinden lässt.

Ein Beispiel dafür findest Du hier:
http://snipplr.com/view/8161/javascript-include-menu…

Ich hoffe, ich konnte Deine Frage beantworten :smile:

Hallo Tobias,

das lässt sich automatisieren, indem du PHP statt HTML nimmst. Am besten noch
ist ein Content Managedment System (CMS). Ich weiß natürlich nichts über deinen
Kenntnisstand in der Webprogrammierung. Es gibt inzwischen schon ganz einfache
CMS, die nicht allzu viel Kenntnisse verlangen. Das Webhosting-Paket muss dabei
allerdings über eine MySql-Datenbank verfügen. Falls du an so etwas denkst, helfe
ich dir gerne unentgeltlich bei der Einrichtung. Schicke mir dann einfach eine
persönliche Nachricht über Facebook (http://www.facebook.com/profile.php?
id=1644529588). Das sollte man nämlich wegen der Zugangsdaten nicht hier
öffentlich machen.

Viele Grüße
Martin

Hi Tobias,

ja, man macht sowas in der Regel mit PHP und sog. Templates. Ein Template ist die Grundstruktur einer Seite - z.B. Header, Navigation und Footer. Dann bindet mittels PHP (einer serverseitigen Scriptsprache) den gewünschten Content, welcher in einer separaten Datei liegt, ein. So werden die alle Unterseiten dynamisch generiert und man muss z.B. die Navigation nur einmal anlegen. Hier ein weiterführender Link mit einem Tutorial dazu: http://www.tutorials.de/php-tutorials/12907-php-temp…

Beste Grüße,
Andy

Hallo Tobias,

ich würde die Navigationsleiste in eine separate Datei auslagern und diese dann dynamisch einbinden („inkludieren“). Das geht entweder mit PHP („include()“, siehe http://php.net/manual/de/function.include.php) oder mit sog. „Server Side Includes“ („SSI“, siehe http://www.thors-page.de/tutorial_PHP_ssieinfuehrung…). In beiden Fällen muss jedoch der Server die verwendete Technologie unterstützen, also entweder PHP muss laufen oder SSI erlaubt sein.

In jede einzelne Seite braucht dann nur der entsprechende Einbindungsbefehl für die separate Nav-Datei eingebettet zu werden. Beim Aufruf einer solchen Seite holt diese sich dann den Inhalt der Navigationsleiste aus der einen, immer gleichen Datei. Alle Änderungen, die darin vorgenommen werden, sind dann automatisch auf jeder Seite präsent.

Herzliche Grüße,
Stephan Hilchenbach

Hallo Tobias,

die Alternative zu Frames ist PHP Include, vorausgesetzt der Webserver kann PHP.
Statt .html müssen die Dateien auf .php enden.
Mit dem Befehl
include („menue.php“); ?>
lässt sich die Navigation als separate Datei menue.php einbinden, ähnlich wie bei frames, aber mit dem Unterschied, dass durch php die Navigation so eingebunden wird, als sei sie in der Seite selbst drin.

Eine Anleitung:
http://www.webdesign.rudomazin.de/tutorials/php-tuto…

Ansonsten einfach mal googlen nach php inlcude.

Gruß
Dirk

Die Navi kannst Du nur extern hinterlegen wenn Du in php arbeitest, oder eine Profinavi nimmst –> http://www.sharewareconnection.com/deluxe-tuner.htm
kostenlos für private Homepages
Alternativ kannst Du auch das ganze Web in diversen Programmen über suchen/ersatzen ändern mit einem einzige Klick!

Hallo Tobias
indem man durch Nutzung von einem beliebigen CMS oder einer reinen HTML- Seite darauf verzichtet Frames zu verwenden.

Liebe/-r Experte/-in,

ich habe folg. Problem: ich sammle seit Jahren auf der website
http://fotito.bplaced.net/ Urlaubsbilder. In der oberen Leiste
gibt es eine Navigationsleiste, mit der man die einzelnen
Urlaubseinträge anwählen kann. Auf jeder einzelnen Seite der
Website ist eine Kopie dieser Navigationsleiste (keine
Frames).

Hallo Tobias,

um so etwas zu realisieren solltest du PHP verwenden. Dort kannst du EINE Datei erstellen mit der Dropdownliste deines Menüs und diese dann mit <?php require_once("pfadzurdatei.php"); ?> auf jeder Seite einbinden.

Beim Dreamweaver gibt es eine ähnliche Funktionalität (Vorlagen) die aber bei mir nicht immer fehlerfrei war.

Hoffe das hilft dir, wenn du näheres brauchst - einfach melden.

lg
Patrick