Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Page Layout

Diskussion: Page Layout im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo, Ich bin gerade am gestalten eines Webauftrits. Das Grundgerüst habe ich wie folgt festgelegt: Code: +-------------+ | Logo ...

Antwort
Alt 19.11.07, 12:12   #1 (permalink)
IsNull
Guest
 
Likes:
Standard Page Layout

Anzeige

Hallo,

Ich bin gerade am gestalten eines Webauftrits. Das Grundgerüst habe ich wie folgt festgelegt:

Code:
+-------------+
|  Logo & Nav |
+-------------+
|Hauptinhalt  |
|(wechselbar) |
+-------------+
| footer      |
+-------------+
Ich möchte nun den oberen Teil (Logo & Nav) sowie den footer immer auf die gleiche Datei verlinken. (damit ich das Inhaltsverzeichnis zentral verwalten kann, und die Logo Grafik nur 1mal geladen/interpretiert werden muss)

Wie stelle ich das nun am klügsten an? Möglichst nur html und css. JS möchte ich wenn möglich vermeiden.

Ich habe zuerst an frames gedacht, nur müsste ich dann je nach dem, was in der Nav angeklickt wird, im Main frame etwas anderes anzeigen lassen. JS?

Macht man sowas überhaupt mit frames? Gibt doch sicher ein paar hier, die sich mit webdesign etwas auskennen :) Ein paar Stichworte in die richtige Richtung würden schon reichen ;)

Gruss & thx
IsNull
  Mit Zitat antworten
Alt 19.11.07, 12:42   #2 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 52
Standard

wenn ich dein problem richtig verstanden habe, dann hatten wir eine ähnliche frage bereits: menü für eine website - wie realisieren
lightsaver ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 19.11.07, 12:59   #3 (permalink)
IsNull
Guest
 
Likes:
Standard

Zitat:
Original von lightsaver
wenn ich dein problem richtig verstanden habe, dann hatten wir eine ähnliche frage bereits: menü für eine website - wie realisieren
Danke für den Link, habe das nicht gefunden. Scheint aber trotzdem nur mit Frames oder dann mit php zu gehen...

Werde wahrscheinlich doch mit php machen. - Und dazu habe ich jetzt auch noch ne kleine Frage:

Ich kann ja die einzelnen html Dateien includen.
PHP-Code:
<? include ("nav.html"); ?>
<? 
include ("main1.html"); ?>
<? 
include ("footer.html"); ?>
wie kann ich jetzt das main1.html verändern?
  Mit Zitat antworten
Alt 19.11.07, 13:36   #4 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 52
Standard

ich würde es so machen:

du machst deine einzelnen seiten. sagen wir mal, du hast ne datei impressum.php (nur ein beispiel für jede einzelne seite)

in dieser impressum.php machst du ein

Code:
<? include ("nav.html"); ?>

hier kommt jetzt in html der inhalt, also das was du als main bezeichnest

<? include ("footer.html"); ?>
und so machst du das dann halt auch mit allen anderen seiten.

ach und nav.html und footer.html sollten vielleicht keine kompletten html-dateien sein, da du ja sonst probleme mit doppelten tags bekommst. theoretisch würde halt schon ne einfache txt zum includen reichen.
lightsaver ist offline   Mit Zitat antworten
Alt 19.11.07, 14:12   #5 (permalink)
IsNull
Guest
 
Likes:
Standard

Ach so Danke, denke dies kann ich nun umsetzen.

thx
IsNull
  Mit Zitat antworten
Alt 19.11.07, 14:54   #6 (permalink)
 
Registriert seit: 25.07.07
BigDevil Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von lightsaver
ach und nav.html und footer.html sollten vielleicht keine kompletten html-dateien sein, da du ja sonst probleme mit doppelten tags bekommst. theoretisch würde halt schon ne einfache txt zum includen reichen.
Man sollte auf keinen Fall komplette .html Dateien includen. Der Validator ist bestimmt nicht begeistert, wenn ein Quelltext 3x <html></html>, <head></head> und <body></body> enthält.

Edit:

Du solltest bei include nicht mit absoluten Pfadangaben arbeiten, sondern mit relativen. Einige Server machen da Ärger.
BigDevil ist offline   Mit Zitat antworten
Alt 19.11.07, 15:11   #7 (permalink)
 
Registriert seit: 08.08.06
ic3cu83z Leistung: Facit NTK
Likes: 0
Standard

Du könntest es auch komplett in HTML halten. Machst 1 Tabelle mit 100% Breite und Höhe.

Darin eine weitere Tabelle mit 3 Reihen (1. header/menu, 2. mainFrame/Inhalt, 3. Footer). Diese Tabelle dann für 1. auf eine feste Pixelzahl (bspw. Höhe des Logos) festlegen. Das selbe machst Du mit dem Footer.

Die Menüpunkte würde ich schon im Grundgerüst verlinken und als index.html speichern.

Dann brauchst Du lediglich für die einzelnen Menüpunkte den Inhalt ändern und das Dokument dann jeweils speichern (about.html, etc).

So sollte es auch klappen.
ic3cu83z ist offline   Mit Zitat antworten
Alt 19.11.07, 16:06   #8 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 52
Standard

Zitat:
Original von BigDevil
Man sollte auf keinen Fall komplette .html Dateien includen. Der Validator ist bestimmt nicht begeistert, wenn ein Quelltext 3x <html></html>, <head></head> und <body></body> enthält.
deswegen hatte ich es ja extra nochmal erwähnt habe mich nur so nah an dem beispiel gehalten wir grad möglich
lightsaver ist offline   Mit Zitat antworten
Alt 19.11.07, 16:53   #9 (permalink)
.:L
Senior Member
 
Benutzerbild von .:L
 
Registriert seit: 05.05.06
.:L Leistung: 8086
.:L eine Nachricht über ICQ schicken
Likes: 24
Standard

kann dir nur php empfehlen.

Du musst nichma php können, kannst alle sauslagern.
Geht auch über include sprich::

Du machst ne Datei
config.php
da schreibst du alle beschreibungen -> Seiten rein
und in dne Link auf den Seiten packste dann nurnoch die Bezeichnung

zb:

in der config.php steht

$dateien['home'] = "home.html"

dann schreibste in den link

"href="index.php?section=home"

hört sich bestimmt brutal an, is abe recht dufte leicht.

Bei Interesse erlär ichs gerne genauer
__________________
fat people are hard to kidnap
.:L ist offline   Mit Zitat antworten
Alt 19.11.07, 17:59   #10 (permalink)
IsNull
Guest
 
Likes:
Standard

Erstmal danke für die vielen Tipps und Anregungen.

Ich habe nun Lightsavers Methode in die Tat umgesetzt, und das haut auch hin.

also so:

Zitat:
<? include ("nav.htm"); ?>

//hier kommt jetzt in html der inhalt, also das was du als main bezeichnest

<? include ("footer.htm"); ?>
Selbstverständlich habe ich nur im nav.htm die eröffnungs Tags, und nur im footer die schliessenden. Das was ich erreichen wollte, ist somit erreicht.


@.:L:

Ich kann ein bisschen PHP (ich brauchte es bis jetzt halt nur sehr wenig, deshalb muss ich mich oft durch die Helps quälen...) Das was du antönst, scheint mir als ob man hier mit GET Variabeln schaffen würde, oder?

Wäre dir dankbar, wenn du deinen Vorschlag noch etwas genauer umschreiben könntest. Evtl. auch mit Gründen, warum man es auf diese oder die andere Art machen sollte...

thx & Gruss
IsNull
  Mit Zitat antworten
Alt 19.11.07, 19:05   #11 (permalink)
 
Registriert seit: 25.07.07
BigDevil Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von IsNull
Selbstverständlich habe ich nur im nav.htm die eröffnungs Tags, und nur im footer die schliessenden. Das was ich erreichen wollte, ist somit erreicht. l
Ich hätte das anders gemacht.

Code:
<html>
<head>
</head>
<body>
<?php include ("navi.html"); ?>
---main---
<?php include ("footer.html"); ?>
</body>
</html>
So steht in der Navi- und Footerdatei auch nur die Navigation und der Footer.
BigDevil ist offline   Mit Zitat antworten
Alt 19.11.07, 22:56   #12 (permalink)
 
Registriert seit: 07.07.04
M.D.Geist Leistung: Facit NTK
Likes: 0
Standard

Hallo IsNull,

hier ist mal ein kleines Beispiel zur Verwendung von GET-Variablen. Du brauchst dazu nur einmal eine "index.php" mit "navi" und "footer" zu schreiben, der dementsprechende Inhalt der dann angezeigt wird, wird durch die Links in der Navigation gesteuert.

Code:
/***** Navigation *****/
GET-Variablen werden mit einem ? an die URL angehängt, mehrere Variablen werden
durch ein & getrennt (z.b. index.php?foo=wert1&bar=wert2)

<a href="index.php?id=1">Link1</a>
<a href="index.php?id=2">Link2</a>
<a href="index.php?foo=bar">Link3</a>

/**** Main *****/
Hier prüfst du die GET-Variablen auf ihren Wert und includierst dann die 
dementsprechenden Dateien. 
(z.B. mit switch() falls du nur auf Zahlen prüfst oder mit if() wenn du auch auf
Strings prüfst)

<?php
  switch($_GET['id']) {
    case 1:
    include("seite1.php");
    break;
    case 2:
    include("seite2.php");
    break;
  }

  if($_GET['foo'] == "bar") {
    include("seite3.php");
  }
?>

/***** Footer ****/
Ich hoffe dieses kleine Beispiel ist relativ verständlich, falls du dich ernsthaft damit befassen willst kann ich dir nur das PHP-Manual oder ein gutes Buch empfehlen.
M.D.Geist ist offline   Mit Zitat antworten
Alt 20.11.07, 10:26   #13 (permalink)
 
Registriert seit: 04.10.05
bLaCk-DrAg0n Leistung: Facit NTK
bLaCk-DrAg0n eine Nachricht über ICQ schicken
Likes: 0
Standard

ich weiss jetzt nicht wie groß der webauftritt werden soll.
sollte deine Seite nicht mehr als 3 verschiedene pages haben,
dann ignoriere meinen beitrag einfach ^^

Ich persönlich würde die Ganze sache mit einer Template Engine unter PHP lösen.
Dies würde dir 1. mehr möglichkeiten bieten und 2. eine höhere Dynamik der Seite erlauben,
wenn dies denn gewünscht ist.
Zu PHP gibt es schon einige viele Engines die alle ihre Vor- und Nachteile haben.
Am besten du schaust dir die Engine's selber mal an.
Würde dir vLib empfehlen. ist für so kleine sachen recht gut


PS: Nimm nicht Smarty... das wär für deine Zwecke 1. viel zu Overpowered und 2. ist es generell einfach zu langsam. die anderen kenne ich leider nicht :X
bLaCk-DrAg0n ist offline   Mit Zitat antworten
Alt 20.11.07, 13:30   #14 (permalink)
IsNull
Guest
 
Likes:
Standard

Zitat:
Original von M.D.Geist
Hallo IsNull,

hier ist mal ein kleines Beispiel zur Verwendung von GET-Variablen. Du brauchst dazu nur einmal eine "index.php" mit "navi" und "footer" zu schreiben, der dementsprechende Inhalt der dann angezeigt wird, wird durch die Links in der Navigation gesteuert.
[...]
Ich hoffe dieses kleine Beispiel ist relativ verständlich, falls du dich ernsthaft damit befassen willst kann ich dir nur das PHP-Manual oder ein gutes Buch empfehlen.
Hi M.D.Geist,

Jetzt verstehe ich das Prinzip. Ich werde es nun so umsetzen.

@bLaCk-DrAg0n:
Nun, die grösse ist nicht ganz so einfach festzulegen. Zu Beginn werden es so um die 3-4 Haupseiten sein, wobei bei es bei einer Hauptseite Sub-Kategorien geben wird. Da ich aber überall mit dem gleichen nav und footer fahren will, ist es wahrscheinlich übertrieben so was zu nutzen. Später könnte das ganze noch etwas wachsen.

Da ich es aber nicht kenne, werde ich es mir sicherlich mal zu Gemüte führen... wenn ich mal ne freie Minute finde

Sobald das ganze oben ist, und öffentlich zugänglich, werde ich die Site hier verlinken, und ihr könnt, sofern ihr wollt, konstruktive Krittik anbringen (momentan ist dies aus "politischen" Gründen nicht möglich. )

Ich möchte mich nochmals für die tolle Unterstützung bei euch allen bedanken

Gruss
IsNull
  Mit Zitat antworten
Alt 20.11.07, 16:01   #15 (permalink)
.:L
Senior Member
 
Benutzerbild von .:L
 
Registriert seit: 05.05.06
.:L Leistung: 8086
.:L eine Nachricht über ICQ schicken
Likes: 24
Standard

Soho da bin ich nun

Mache mir mal die Mühe etwas ausführliches z uschreiben

index.php
Code:
<?php
	error_reporting(E_ALL);
	include "config.php";	
?>
<html>
<head><title></title></head>
<body>
<?php
	include "menu.php";
          include "inhalt.php";
          include "footer.php";
?>
</body>
</html>
Kannst natürlich nochn Stylesheet reinbringen

hm jetzt könnte man sich ja fragen, was in der config.php steht die ganz am ist

config.php
Code:
<?php
	$dateien = array();
          $dateien['home'] = "home.html";
?>
Hier werden die Links eingebungen. Später musst du im Link nurnoch
<a href="index.php?section=home
schreiben, und php nimmt die definierte datei.

Tja, bleibt zu klären, wo home.html jetzt auftauchen soll.

inhalt.php
Code:
<?php
    if(isset($_GET['section']) AND isset($dateien[$_GET['section']])) {
        include $dateien[$_GET['section']];
    } else {
        include $dateien['home'];
    }
?>
mehr ist das ganze nicht.....
__________________
fat people are hard to kidnap
.:L ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Page Layout
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tastatur layout. Noirzone Linux/UNIX 8 28.04.07 14:44
Layout wie? container? Tabelle? .:L (Web-) Design und webbasierte Sprachen 7 18.08.06 11:36
Kigotix Layout K!lLeR (Web-) Design und webbasierte Sprachen 1 03.01.06 16:00
Kigotix Layout K!lLeR Internet Allgemein 1 03.01.06 16:00
FluxBox => Keyboard layout keymaker Linux/UNIX 4 22.12.05 17:09


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61