• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Seite umdesignen

KV3000

New member
Hi,

Ich würde gerne meine Seite http://www.voltagezone.dl.am umdesignen. Mich nervt, dass bei einem Link auf ein Unterthema nicht das ganze Frameset angezeigt wird. Ich weiß nur nicht recht, wie ich ohne Frames auskommen soll, da ich keine Lust habe das Menü und das Logo zu jeder Seite dazuzugeben.
Ich hab gehört, dass man statt frames divs und css verwenden kann, aber da hab ich dann wieder das Problem, dass wenn ich im Menü was ändere, dass ich alle Seiten ändern muss, oder?

Ich weiß echt nicht mehr weiter :confused:
 
Moin!
KV3000 schrieb:
aber da hab ich dann wieder das Problem, dass wenn ich im Menü was ändere, dass ich alle Seiten ändern muss, oder?
Wenn Dir eine serverseitige Sprache zur Verfügung steht, kannst Du Dein Menü in einer Datei bunkern und diese in Deine Seite einbinden (includen) - dann wärst Du das Problem los.

Ahoi - Pit
 
Frames haben viele Nachteile, deshalb sind framelose Seiten fast immer vorzuziehen. Wenn du die Frames auf deiner Seite aber einfach durch DIVs (Ich nehme mal an, du meinst DIVs zusammen mit dem SRC-Attribut zu verwenden) ersetzt, hast du allerdings nichts gewonnen, weil du nachwievor mit den gleichen Problem zu kämpfen haben wirst (z.B. dass die URL in der Browser-Adresszeile nicht mit der eigentlichen URL deiner Seite übereinstimmt) und außerdem können DIV/src nicht alle Browser.
Optimal wäre es, wenn du eine serverseitig ausgeführte Skriptsprache (PHP, Perl, ASP,...) benutzen könntest. Dann kannst du nämlich eine Seite mit der Navigation und allem drumherum erstellen und die Inhaltsseiten dann einfach "inkludieren".
 
@KV3000:
Deine Website scheint alle paar Minuten nicht zu erreichen zu sein (hab da gerade mal ein bisschen drübergesurft). Falls es für dich in Frage kommt, deinen Webhoster zu wechseln: PHP-Hosting gibt es ab schon ab 2 Euro im Monat.
 
Ich glaub das mit den DIVs lass ich lieber...

Serverseitig hätte ich PHP zur Verfügung. Das Problem ist, das ich überhaupt keine Ahnung von PHP habe. ---Wäre es möglich, dass ich trotzdem einfach eine Vorlage für meine Zwecke umgestalte? So schwer kann das ja nicht sein!
 
Hi!
Harry Hunt schrieb:
Hätte ich mir ja denken können, dass du schneller bist ;-)
Wie immer (falls es geschieht) Zufall. Außerdem war Deine Post aussagekräftiger.

@KV3000: Du brauchst fast kein PHP zu können um die includerei hinzubekommen. Und wenn Du es anpacken möchtest kriegst Du hier bestimmt Hilfe dabei.

Ahoi - Pit
 
isses auch nicht :)


Du baust dir einfach eine HTML-Datei mit allem Drumherum, also der Navigation, dem Logo usw und nennst die index.php. Dann machst du ein Unterverzeichnis in das du alle Inhaltsseiten hineinlegst. Dabei beschränkst du dich auf den Text und lässt alles andere Weg. Du solltest außerdem keine HTML/HEAD oder BODY-Tags in deinen Inhaltsseiten haben, da diese ja schon in der index.php stehen.

An der Stelle in der index.php, an die die Inhalte geladen werden sollen schreibst du jetzt einfach folgdendes

PHP:
<?php
  define('INHALTE_ORDNER', 'inhalt/');
  $seite = 'home';
  if(isset($_GET['seite']) && file_exists(INHALTE_ORDNER . $_GET['seite']) && preg_match('/^[a-z]+$/i', $_GET['seite'])) {
    $seite = $_GET['seite'];
  }
  include_once INHALTE_ORDNER . $seite . '.html';
?>

Standardmäßig (also wenn keine Seite angegeben wird, oder die angegebene Seite nicht existiert) wird die datei "home.html" eingebunden.

Du kannst die Seite dann mit "index.php?seite=meineseite" aufrufen (in dem Fall würde die Datei meineseite.html geladen).

Das Beispiel oben erwartet die Inhaltsseiten im Ordner "inhalt", aber das kannst du in der zeile "define('INHALTE_ORDNER', 'inhalt/');" einfach ändern.

EDIT: Ich glaub ich hab's viel umständlicher erklärt als es wirklich ist. Wenn dir irgendwas nicht klar ist, lass es mich wissen.
 
Zuletzt bearbeitet:
Danke für die schnelle Antwort! :)


Was mir noch nicht ganz klar ist, wie ich den Bereich abgrenze wo die Seite hineingeladen wird.
und wo schreib ich bei deinem Beispiel hin, wie der Link heißt?

Wenn ich keine head-tags brauch, wo schreib ich dann den seitentitel, die beschreibung... usw hin?
 
Du kannst dir das so vorstellen, dass das PHP-Skript durch den Inhalt ersetzt wird. Das heißt wo auch immer du es in deinen HTML-Code schreibst -- genau da wird der Inhalt dann eingefügt.

Am einfachen kannst du's dir machen, wenn du einfach einmal eine Seite mit Textinhalt zusammenbaust und dann den gesamten Text löscht und an die gleiche Stelle das PHP-Skript schreibst.

Der Text kann in einem DIV liegen, in einer Tabelle... das liegt allein an dir.

Hier mal ein konkretes Beispiel

index.php
PHP:
<html>
<head>
  <title>Ich bin ein Seitentitel</title>
</head>
<body>
  <div style="background: #F00; height: 50px">
    <h1>Meine tolle Seite</h1>  
  </div>
  <div style="width: 200px; float: left">
    <h2>Navigation</h2>
    <ul>
      <li><a href="index.php">Home</a></li>
      <li><a href="index.php?seite=ueber">Über mich</a></li>
      <li><a href="index.php?seite=kontakt">Kontakt</a></li>
      <li><a href="index.php?seite=links">Links</a></li>
    </ul>
  </div>
  <div style="margin-left: 210px">
    <?php
      define('INHALTE_ORDNER', 'inhalt/');
      $seite = 'home';
      if(isset($_GET['seite']) && file_exists(INHALTE_ORDNER . $_GET['seite']) && preg_match('/^[a-z]+$/i', $_GET['seite'])) {
        $seite = $_GET['seite'];
      }
      include_once INHALTE_ORDNER . $seite . '.html';
    ?> 
  </div>
</body>
</html>

inhalt/ueber.html
HTML:
Hallo, ich bin der Harry und das ist meine<strong>super</strong> Seite.

inhalt/kontakt.html
HTML:
Schicke einfach eine Mail an <a href="mailto:Harry@tolle-website24-4u-online.de.vu">mich</a>

inhalt/links.html
HTML:
Meine Lieblingsseiten<br />
<a href="http:/www.jswelt.de" target="_blank">jswelt</a>
 
Zuletzt bearbeitet:
So, da bin ich wieder!

Ich hab das Beispiel jetzt online gestellt: Link

Irgendetwas hab ich anscheinend noch falsch gemacht, da bei mir immer nur die Startseite angezeigt wird :(
 
... mein Fehler *erröt*. Ich hab's nicht getestet. Der PHP-Block muss heißen

PHP:
    <?php
      define('INHALTE_ORDNER', 'inhalt/');
      $seite = 'home';

      if(isset($_GET['seite']) && file_exists(INHALTE_ORDNER . $_GET['seite'] . '.html') && preg_match('/^[a-z]+$/i', $_GET['seite'])) {
        $seite = $_GET['seite'];
      }
      include_once INHALTE_ORDNER . $seite . '.html';
    ?>
 
Super, jetzt funtzt es! :)

Ich werd mich mal an die Umgestaltung machen. Das Ergebnis könnt ihr dann bewundern :rolleyes:
 
So, ich hab jetz einmal das Layout gemacht. Link
Es funktioniert schon alles so wie es soll, nur treten noch immer Fehler beim Laden der Seite auf (zumindest bei IE6) und das laden dauert extrem lange.

Noch eine Frage bezüglich PHP: Wie kann ich zB: eine externe Seite (Gästebuch) in das Fenster laden und wie kann ich eine Unterseite über einen Link im Fenster in dasselbe Fenster laden.
 
"Optimiert für IE 6 bei einer Auflösung von 1024x768 Pixel"...?
Na na na! Das schaut doch auch im FireFox ganz gut aus. Das kannst du also getrost weglassen.

Externe Seiten kanns du so gut wie gar nicht in dein Fenster laden (es gibt eine Möglichkeit, die allerdings nicht empfehlenswert ist. Zumal das Gästebuch vermutlich wenn es in deine Seite geladen ist nicht mehr funktioniert, weil die Seite ja direkt in den Quelltext geschrieben würde, und nicht in ein Frame). Die zweite Frage habe ich ehrlich gesagt nicht so recht verstanden.

Gefälllt mir aber gut. Ohne Frames ist das ganze gleich viel angenehmer.
 
Gefälllt mir aber gut. Ohne Frames ist das ganze gleich viel angenehmer.

Muss dir ja auch gefallen, schließlich ist der Vorschlag ja von dir :D

wegen der zweiten Frage: Capbank

Ich will, dass die vorhandenen Unterseiten (capbank 1, capbank2) in den Bereich geladen wird, wo die Linkseite war.
 
Ich kann dir zwar immer nocht nicht ganz folgen, aber was spricht dagegen die Unterseiten einfach auch in den Inhalts-Ordner zu tun?
 
Zurück
Oben