menü für eine website - wie realisieren

Hi
Bisher habe ich für meine website immer frames verwendet, links menü, rechts text.

frames sind allerdings nicht mehr sehr willkommen, da sie einige Nachteile mitsiche bringen.

Aber wie kann ich eine menüführung ohne frame realisieren??

Wenn ich auf jeder Seite, eine eigenständiges Menü einbaue, muss ich bei jeder änderung, alle seiten aktualisieren...
Was gibt es für möglichkeiten, ein einfach zu pflegendes Menü zu bauen??

ps.: bitte kommt mir nicht mit cms
 
Hallo,

Dafür gibt es serverseitige Scripte, wie PHP, CGI oder auch SSI (ggf. bei Wikipedia oder google nachsehen).
Damit lässt es sich bewerkstelligen, z.B (falls du kein "CMS" willst) einfach auf jeder Seite das Menu aus einer eigenen Datei so einzubinden, dass sie in jeder Seite auftaucht.

Z.B. mit PHP:

menu.php:
Code:
<a href="seite1.php">Seite 1</a> <br />
<a href="seite2.php">Seite 2</a>
seite1.php:
Code:
<?php include 'menu.php'; ?>
Hier der Seiteninhalt von Seite 1
seite2.php:
Code:
<?php include 'menu.php'; ?>
Hier der Seiteninhalt von Seite 2

Ich hoffe, du hast das Prinzip verstanden.
Natürlich lässt sich das ganze beliebig ausweiten.
Wenn man es auf die Spitze treibt, musst du an den Dateien selbst nichts mehr ändern, sondern kannst alles über einen bequemen Editor in die Datenbank schreiben.
Das nennt man dann CMS.

mfg, metax.
 
sowas habe ich zum beispiel gerne über php gemacht. einfach ein include und schon hatte ich nur noch eine datei, die ich bearbeiten musste.
 
Darüber hab ich auch schon nachgedacht... Ich hab auf meiner HP (naja, die vom Sportverein) im Moment eine Lösung mit Frames, da der Server kein PHP unterstützt. Ist leider nur ein 1?-ftp mit Domain Name.
Also muss ich was browserseitiges machen und das ist immer fehleranfälliger...
Wie sieht das mit CSS oder javaScript aus?

BTW: ich glaub code Kitchen ist die falsche Sektion O.o
 
Gibt ein webdesign unterforum ;-)
Ich nutze ein css menü, ist recht einfach, bei interesse kann ich dir den "code" geben.
gruß
Christian

/edit
Bis gerade war ich noch in code kitchen O.o
Ich werd alt... xD
 
Ich habe dafür immer die "Template" Funktion meines Editors genutzt (Phase5):
dann steht im Quelltext sowas:
<!--INC:"bla.inc"-->
<!--/INC:"bla.inc"-->
Und der Editor erledigt den Rest automatisch und fügt zwischen diesen Tags den Inhalt der INC Datei ein. D.h man braucht nur die Include Datei zu ändern und nicht alle zig Seiten, was Pflege von Menüs und anderen wiederkehrenden Elementen auch bei statischen Seiten sehr vereinfacht.
Also eventuell in Deinem Editor nach ähnlichen Funktionen schauen oder gleich Phase nutzen ;).
 
@CDW
Ich benutze meistens den sog. "Editor" von Microsoft. ^^ Für komplexere Dinge darf es auch mal HomeGallery oder Phase5 sein. Ich hab aber nicht die template Funktion benutzt, sondern einfach via Dateiübergreifend suchen & ersetzen neues eingefügt. Und das Menü halt über Frames, weil es doch schon nervt 773 html-Dateien bei jeder Menüänderung neu hochzuladen... -.-°

Aber wenn das geht, dass man bei CSS das Menü zentral in einer Datei speichern kann, dann werd ich mir das mal anschauen. Soll ja auch selbst fabriziert sein ^^
 
Leider gibts den Phase5 nicht für Linux, den habe ich früher auch immer gerne genommen. (jetzt kate).
php kann ich zwar nicht, aber so ein menü kann ja nicht allzu schwierig sein...

Gibt es unter html kein include o.ä. um html-dateien einzubinden (wie bei dem phase5 - macro)??

jedenfalls erstmal danke für die Antworten
 
Original von RedEagle

php kann ich zwar nicht, aber so ein menü kann ja nicht allzu schwierig sein...

Gibt es unter html kein include o.ä. um html-dateien einzubinden (wie bei dem phase5 - macro)??

jedenfalls erstmal danke für die Antworten

eigentlich braucht man nur php-fähigen webspace.
du machst dir dann ganz normal die htmlseite. an der stelle, wo du das menü haben willst machst du dann einfach nur
<?php include(menu.php); ?>
danach gehts schon normal mit html weiter. in der menu.php hast du dann im prinzip nur normalen html-code. nun noch der html-datei die endung php verpassen und schon klappt es. man muss also keine wirklichen kenntnisse von php haben.
und nein, in html gibt es kein include oder ähnliches


Original von $oul
Man könnte auch ein iframe für das Menu nehmen und dort einfach ne Datei einbinden...

mfg $oul

von iframes würde ich dringend abraten. das sieht so zwar schön leicht aus, gibt aber im design gerne mal probleme. gut, das kann man vielleicht noch hinbekommen, aber viel schlimmer ist, dass suchmaschinen damit große probleme haben und so die seiten falsch indiziert werden (inhalt stimmt zwar, es wird aber als suchergebnis z.b. nur die seite aus dem frame gezeigt und so)


wenn man nur einige wenige dateien neu hochladen will, wird man um php oder ähnliches kaum herumkommen, ansonsten wurde ja auch schon das mit templates erwähnt


ach und fehler im code bitte ignorieren, bin noch nicht ganz wach, aber es verdeutlicht nur worauf ich hinaus wollte ;)
 
Noch eine weitere Möglichkeit wäre die Inhalte mit Javascript dynamisch nachzuladen. Ist aber imo auch nicht so ganz das Wahre.
Realistisch gesehen führt wohl für eine saubere Umsetzung kein Weg an einer Serverseiteigen Scriptsprache (wie PHP) vorbei.
 
an js habe ich auch schon gedacht, aber was macht man mit leuten, die das deaktiviert haben? die bekommen dann kein menü. oder man bietet denen ne ersatzmöglichkeit und schon ist man wieder an dem punkt, wo man vorher war.
 
Ich werde dass dann wie lightsaver sagte, realisieren. Von iframes halte ich auch nicht viel, dann kann ich ja gleich bei den frames bleiben. JS ist auch nicht sehr willkommen, da ich ansonsten nichts weiteres mit JS auf der Seite habe. Und jemanden quasi dazu zwingen, javascript zu aktivieren, nur um ein menü zu sehen halte ich für übertrieben ;)

jedenfalls Danke für die Hilfe
 
Also ich hab das bei meinem SV jetzt auch mit Frames und js gemacht. Also so, dass ich auch auf einzelne Seiten verlinken kann und die Frames nachgeladen werden. So ergeben sich keine Fehler durch Suchmaschinen etc.
@lightsaver
Kennst du jemanden, der das deaktiviert hat? Afaik macht das der 0-8-15 User nicht, da sich nur Nachteile ergeben. In Punkto Sicherheit verlassen sich die Meisten wohl auf ihre Firewall :/
Als Demo für Frames+js mal meine Website:
http://www.schuetzenverein-waldeslust-schirumer-leegmoor.de/
Ich hab sogar ein externes Gästebuch einbinden können, das die Frames nachläd:
http://www.onlinewebservice6.de/gastbuch.php?id=128769

Wer den Kram deaktiviert hat, hat halt Pech gehabt. Dann brauch ich nen besseren Webspace, der PHP kann. :(
 
@ extinction:

du hast das mit frames und nicht i-frames gemacht speziell i-frames machen ja die probleme. außerdem verlangt deine seite auch wieder js. darauf sollte man nach möglichkeit verzichten. ohne js gehts bei dir nämlich nicht

und zu deiner frage, ja, ich kenne viele leute die das nicht aktiviert haben. aber um das ganze mal zu untermauern hier mal ne statistik vom habo http://extremetracking.com/open;sys?login=throjan

danach haben etwa 31% der leute hier js deaktiviert. das ist schon ne verdammt große anzahl, meinst du nicht?
 
Code:
<div id="navBar">
  <div id="sectionLinks">

    <ul>
      <li><a href="index.html">Home</a></li>
      <li><a href="gallery.html">Galerie</a></li>
      <li><a href="geek.html">G33K</a></li>
      <li><a href="projects.html">Projekte</a></li>
      <li><a href="service.html">Service</a></li>

      <li><a href="disclaimer.html">Rechtliches</a></li>
    </ul>
  </div>
Das ist der HTML Code fürs menü,hier das CSS dingens dafür:
Code:
#navBar{
	margin: 0 79% 0 0;
	padding: 0px;
	background-color: #eeeeee;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

#navBar ul a:link, #navBar ul a:visited {display: block;}
#navBar ul {list-style: none; margin: 0; padding: 0;}

#navBar li {border-bottom: 1px solid #EEE;}

html>body #navBar li {border-bottom: none;}

#sectionLinks{
	position: relative;
	margin: 0px;
	padding: 0px;
	border-bottom: 1px solid #cccccc;
	font-size: 90%;
}

#sectionLinks h3{
	padding: 10px 0px 2px 10px;
}

#sectionLinks a:link{
	padding: 2px 0px 2px 10px;
	border-top: 1px solid #cccccc;
	width: 100%;
  voice-family: "\"}\""; 
  voice-family:inherit;
	width: auto;
}

#sectionLinks a:visited{
	border-top: 1px solid #cccccc;
	padding: 2px 0px 2px 10px;
}

#sectionLinks a:hover{
	border-top: 1px solid #cccccc;
	background-color: #dddddd;
	padding: 2px 0px 2px 10px;
}

MfG
Christian
 
@acoq:

kannst du uns auch noch erklären, wieso man bei deiner variante nicht alle dateien ändern muss, wenn sich was am menü ändert? es geht hier nicht um formatierungen sondern um die struktur. da hilft css dann leider nicht
 
Zurück
Oben