Vorschläge Alternative zu iframes bei CSS-Layout
Max Richter
- programmiertechnik
0 Steel0 Max Richter0 Cyx230 Max Richter0 Cyx23
0 Steel
Hallo,
ich habe ein funktionierendes 3-spaltiges CSS-Layout.
Links: Navigation
Mitte: Content
rechts: Weiterführende Links
Das ganze Layout ist flexibel gestaltet, wobei dies durch Mitte (content) gewährleistet wird.
Nun hatte ich mir eingebildet einen iframe im Content-Bereich zu nutzen um über die Links dort Inhalte einzuladen. Somit müßte die Seite nicht ständig neu geladen werden.
Doch 1. möchte ich keine Frames, 2. funktioniert das auch nur browserkonform bei einer festgelegten Breite. Aber das soll ja flexibel sein. Mit der Breitenangabe 100% (orientiert am umgebenden div) können nur Firefox und ähnliche und der IE7 umgehen. Der IE6 kann damit gar nicht umgehen, IE 5.5 und tiefer interpretiert die 100% vom linken Rand des divs zum rechten Viewport...
Einfach gesagt, es geht nicht.
Ich brauche also eine Alternative und dazu brauche ich Tipps:
Ziel:
1)Content kann durch linke Links angesprochen und verändert werden.
2)Content und rechte Spalte tragen zum Ansprechen feste IDs, so daß ich auch mit den linken Links sowohl den mittleren Content-Bereich, als auch wenn nötig zeitgleich den rechten Bereich ansprechen kann. (Stichwort "Ein Link, 2 Targets", werde ich mit Java lösen).
In der rechten Spalte soll halt "passende" "Möchten-sie-mehr-wissen"-Links enthalten.
Für son Kram muß ich halt meine anderen html-Seiten dort einladen.
3)Am wichtigsten ist die erhaltene Flexibilität des Content-Bereiches, weil sonst könnte ich es auch mit einem iFrame lösen!
Vielen Dank!
Gruß Max
Hi!
Hm. Was spricht nun dagegen das ganz normal, ohne Frames zu machen? (Also einfach die entsprechende Seite zu laden) Und wozu brauchst Du Java? Auch wenn Du Javascript meinst, sehe ich da keinen grossen Bedarf. Zumal eine Seite bekanntlich ja keine Funktionalitaten verlieren darf, wenn keine JS aktiviert ist.
Also ich sehe da grad keine Probleme.
Sicherheitshalber erwaehne ich hier noch mal SSI und Serverseitige Sprachen wie php, perl, ... falls die nicht schon benutzt werden. Falls nicht vorhanden gibt es ja auch noch die oft besprochenen Loesung ueber einen komfortablen Editor der selbst mit Includes und Vorlagen arbeitet. Zu guter letzt sei auch noch die Verwendung eines Content Management Systems empfohlen, falls der Pflegeaufwand immer noch zu gross ist.
Hi!
Hi!
Hm. Was spricht nun dagegen das ganz normal, ohne Frames zu machen?
Also eigentlich nichts, ich dachte so Arbeit sparen zu können, indem ich inhalte einfach nur an bestimmte Stellen einlade. Ist halt ne Ärztehomepage und wenn man zum Beipiel in der linken Navi auf "Allgemeines klickt" sollte sich halt zunächst in der Mitte eine Begrüßung finden und rechts dann "Möchten Sie mehr wissen?: Öffnungszeiten, Erreichbarkeit...."
Damit hätte ich die Linke Navi schön kurz halten können!
Und wozu brauchst Du Java? Auch wenn Du Javascript meinst, sehe ich da keinen grossen Bedarf.
Das war nur, damit ich 2 Frames (also "targets") mit einem Link ansprechen kann. Eins als href und eins als onclick="location.href.='seite1.html'"...
Sicherheitshalber erwaehne ich hier noch mal SSI und Serverseitige Sprachen wie php, perl, ...
Sowas habe ich auch schon gelesen, schrecke aber ehrlicherweise ein wenig vor php zurück und bilde mir bei einer möglichen "include"-Funktion ein, 100.000 funktionen schreiben zu müssen, weil es relativ viele verschiedene Inhalte zum einladen in der Stelle gibt.
Ich denke ich werd einfach für alles eine neue Seite anlegen, das Grundgerüst kommt ja eh ausm Cache und am Layout drehts auch nichts mehr...
Außer jemand hat noch andere Vorschläge..
Gruß Max
Hallo,
Sowas habe ich auch schon gelesen, schrecke aber ehrlicherweise ein wenig vor php zurück und bilde mir bei einer möglichen "include"-Funktion ein, 100.000 funktionen schreiben zu müssen, weil es relativ viele verschiedene Inhalte zum einladen in der Stelle gibt.
Entweder die Inhalte aus einer Datenbank oder einfach einem Array holen und
die Seiten erstellen, oder für jeden Inhalt eine Seite, in die Bausteine wie
die gleichbleibende Navigation eingebunden werden. Einbinden dann per SSI oder
PHP, oder bei dir offline -wieder per server mit SSI oder PHP oder aber einem
geigneten Editor.
Grüsse
Cyx23
Okkkeeey....
Ich danke euch wirklich recht herzlich für eure Vorschläge, ich weiß auf jeden Fall jetzt, DASS es geht, auch wenn ich noch weit entfernt davon bin zu verstehen, WIE es geht.
Am ehesten habe ich von der Möglichkeitvon Cyx23 gehört, die eigentlichen Inhalte mit den feststehenden Navigationen versehen werden.
Auch die Möglichkeit, die Du Steel beschreibst klingt zumindest logisch und auch nicht nach so viel Arbeit.
Die Hauptarbeit für mich wird sein, mich in PHP einzuarbeiten...
Könnt ihr mir da den PHP-Bereich von SELFHTML empfehlen? Ich meine, daß ich die Basics draufkriege um eventuell das ganze wirklich mit Includes zu machen...
... ich meine immerhin verstehe ich bis jetzt noch nichtmal, wenn ihr davon redet irgendeinen Editor zu verwenden, geschweige denn zu wissen, was es bedeutet einen CMS zu installieren...
Aber man lebt ja um zu lernen, nicht wahr? und irgendwie muß ich mir das ja mal aneignen.
Steel, zu guter letzt: Gibt es zu deiner "einfachen" Lösung irgendwo einer einigermaßen passendes Tutorial (muß nicht direkt passen, ich kann auch Zusammenhänge verstehen), damit ich nicht so ewig im Dunkel tappe, bis ich irgendwann merke, daß ich mich nur umdrehen brauche, um das Licht am Ende des Tunnels zu sehen... *ggg*
Gruß Max
Hallo,
wohl die Quelle zum Thema PHP: http://www.php.net/manual/de/index.php
Vielleicht etwas für Anfänger, hoffentlich sind nicht zuviel Fehler drinnen:
http://www.schattenbaum.net/php/anfang.php Vorsichtshalber würde ich die
dort gezeigten Beispiele nochmal überprüfen, ob sie PHP 5.2 o.ä. entsprechen
(mit PHP 4 würde ich nichts mehr machen) und auch sicher genug sind, vielleicht
auch hier nochmal schauen: http://www.heise.de/security/artikel/96564
M.E. als Testumgebung unter Windows geeignet sind Pakete wie WAMP oder EasyPHP,
um mit einem eigenen Server arbeiten zu können.
Grüsse
Cyx23
Hiho,
Sicherheitshalber erwaehne ich hier noch mal SSI und Serverseitige Sprachen wie php, perl, ...
Sowas habe ich auch schon gelesen, schrecke aber ehrlicherweise ein wenig vor php zurück und bilde mir bei einer möglichen "include"-Funktion ein, 100.000 funktionen schreiben zu müssen, weil es relativ viele verschiedene Inhalte zum einladen in der Stelle gibt.
Ne. Das geht total simpel.
Du rufst fuer jede Deiner Unterseiten z.b. Deine Index.php mit einem Parameter auf. z.b. index.php?page=allgemeines
In der Seite hast du am Anfang eine Abfrage (select) die je nach inhalt von page Inhalt und rechte spalte festlegt.
$inhalt=allgmein.php
$rechts=zeiten.php
Wenn du nicht magst, dass die einzelnen includes aufgerufen werden koennen, definierst du in deiner index eine variable, die du in jedem include abfragst. bei nicht vorhandensein wird umgeleitet oder nur eine einfache Meldung ausgegeben.
So definierst du fuer jede Seite ganz einfach die Dateien, die geladen werden sollen.
In der Datei includest du dan im Inhaltsbereich einfach $inhalt und in der rechten spalte $rechts.
keine 1000 Funktionen.
Aber ganz im ernst: wenn php vorhanden ist und die seite eine gewisse groesse ueberschreitet, wuerde ich ein CMS installieren. Wenn zusaetzlich noch eine Datenbank vorhanden ist, hast du da reiche Auswahl.