Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Frameset durch CSS ersetzen, aber wie richtig?

Mitglied: n.o.b.o.d.y

n.o.b.o.d.y (Level 3) - Jetzt verbinden

09.09.2007, aktualisiert 14:36 Uhr, 8305 Aufrufe, 5 Kommentare

Möchte nicht in jeder Webseite das Nav-Menü pflegen müssen

Hallo ihr Wissenden!

wurde freundlich dazu überredet für den Verein in dem meine Frau ist eine kleine Webseite einzurichten. Da das nicht so mein eigentlicher Wirkungsbereich ist, habe ich mich schlau gemacht, wie man Webseiten heutzutage so vernünftig aufsetzt. (soll ja eine pflegeleichte HP werden)

Das erste was mir da über den Weg gelaufen ist, Frames sind böse! OK, dachte ich dann schau dir mal CSS genauer an, gesagt getan. Ist ja alles gut und schön wie toll das alles ohne Frames geht, aber dickes dickes ? ist geblieben:

Wie trenne ich den normalen Content von der Navigation???

Bei allen Beispielen die ich gelesen habe, kopiere ich jedesmal die komplette Startseite und ändere nur den Inhalt der Seite. Ok, und was mach ich wenn ich mal an der Navigationsleiste was ändern will/muss?? Dann ackere ich alle 20 (Unter-)Seiten (die ich habe) durch oder wie??

Oder habe ich in den letzten eineinhalb Tagen was überlesen?

Macht mich bitte schlauer!

Ralf
Mitglied: Masterofdisaster2
09.09.2007 um 09:02 Uhr
Also in php kannst du das mit dem Befehl Include machen.
sieht dann ungefähr so aus <? @include("Navigationsseite.irgendwas"); ?>
dann hättest du noch die Möglichkeit mit iframes zu arbeiten, oder mit java.

hoffe ich konnte dir zumindestens einen Ansatz liefern.
mfg
Bitte warten ..
Mitglied: Dani
09.09.2007 um 09:22 Uhr
Guten Morgen nobody,
das Stichwort lautet "DIV - Container". Damit kannst du eine Art unsichtbare Tabelle erzeugen und nach belieben selber gestalten. Bei Css4You findest du einige Vorlagen bzw. Ideen.

Oder habe ich in den letzten eineinhalb Tagen was überlesen?
Würde ich so nicht sagen...einen Teil auf jeden Fall, "DIV - Container".

Beispiel:

HTML/PHP-Code:
01.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
02.
<http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>
03.
 
04.
<?
05.
include_once ("include/section.php");
06.
?>
07.
 
08.
<? error_reporting(E_All); ?>
09.
 
10.
<html>
11.
<head>
12.
<!-- # Einbinden der CSS Dateien -->
13.
<link rel="stylesheet" type="text/css" href="styles/pagestyle.css">
14.
</head>
15.
 
16.
 
17.
<body>
18.
<!-- #ganz oberer Div-Holder -->
19.
<div id="root">
20.
 
21.
	<!-- #Banner -->
22.
	<div id="banner">
23.
	<? include ("top.php"); ?>
24.
	</div>
25.
 
26.
	<!-- #Container - linke Seite, Mitte, rechte Seite -->
27.
	<div id="container">
28.
 
29.
		<!-- #Linke Seite -->
30.
		<div id="links" class="spalte">
31.
		MENÜ <!-- <? include ("menu.php"); ?> -->
32.
		</div>
33.
 
34.
		<!-- #Mitte - Inhalt -->
35.
		<div id="mitte" class="spalte">
36.
		CONTENT <!-- <? include ("inhalt.php"); ?> -->
37.
		</div>
38.
 
39.
		<!-- #Rechte Seite -->
40.
		<div id="rechts" class="spalte">
41.
		<? include ("ads.php"); ?>
42.
		</div>
43.
 
44.
	<!-- #ENDE - Container -->
45.
	</div>
46.
	
47.
	<!-- #Footer -->
48.
	<div id="footer">
49.
	FOOTER <!-- <? include ("footer.php"); ?> -->
50.
	</div>
51.
 
52.
<!-- #css-float beenden  -->
53.
<br style="clear:both;"> 
54.
</div>
55.
	
56.
</body>
57.
</html>
Die CSS-Datei sieht dazu so aus (pagestyle.css):
01.
 
02.
*
03.
{
04.
	margin: 			0px 0px 0px 0px;
05.
	padding: 			0px 0px 0px 0px;
06.
}
07.
 
08.
body
09.
{
10.
	font-family:		Arial,Verdana,Helvetica;
11.
	font-size:			12px;
12.
	background-color: 		#HF5F4F3;
13.
}
14.
/*Beinhaltet nur das DIV-Gerüst der index.php Seite*/
15.
 
16.
 
17.
#root 
18.
{
19.
	width: 			1000px;
20.
	margin: 			auto;
21.
	background-color: 		#gggggg;
22.
}
23.
 
24.
#banner
25.
 {
26.
	width: 				1000px;
27.
	height: 			 	100px;
28.
	background-image: 		 	url(../images/banner-1000.jpg);
29.
	background-repeat: 	 	no-repeat;
30.
}
31.
 
32.
#container
33.
{
34.
	width:		 		1000px;
35.
	height:		 		auto;
36.
	min-height:	 		600px;
37.
	overflow: 		 		hidden;
38.
}
39.
 
40.
#container .spalte 
41.
{
42.
	padding-bottom: 		 	1001em;     /* X + padding-bottom */
43.
	margin-bottom: 		 	-1000em;     /* X */
44.
}
45.
 
46.
#links
47.
{
48.
	width: 			 	140px;
49.
	background-color: 		 	#8BD78B;
50.
	float: 			 	left;
51.
}
52.
#mitte
53.
 {
54.
	width: 			 	720px;
55.
	background-color: 		 	#FAF0E6;
56.
  	float:				left;
57.
}
58.
 
59.
#rechts
60.
{
61.
 	width: 				140px;
62.
	background-color: 		 	#8BD78B;
63.
 	float: 				left;
64.
}
65.
#footer 
66.
{
67.
	width: 			 	1000px;
68.
	height: 			 	60px;
69.
	background-color: 		 	#73C873;
70.
	margin-bottom: 		 	none;
71.
	clear: 			 	both;
72.
}
73.
 
In diesem Beispiel hast du oben über die ganze Breite einen Container. Darunter dann 3 Spalten (Navi, Inhalt und rechts auch noch mal einen Spalte). Darunter befindet sich dann wieder eine Zeile über die ganze Seite (Footer).

Jetzt hätten wir mal das Grundgerüst...mit PHP hast du die Möglichkeit Module zu bilden. Jede Seite, die als Link (z.B. Startseite, Impressum, News, etc...) eingebunden werden soll, würde ich in den Ordner "module" speichern.
Jedes Modul muss dann noch registiert werden. Oben im Code gibt es am Anfang eine "include" Zeile. In dieser Datei "section.php" im Verzeichnis "include" gibt es ein Array, dass so aussieht:
01.
<?php
02.
/*Ein leeres Feld erstellt*/
03.
$dateien = array();
04.
 
05.
$dateien['startseite'] 			=	"module/startseite.php";
06.
$dateien['news'] 				=	"module/aktuelles.php";
07.
...
Der Vorteil ist der, der Arrayname kann frei gewählt werden und ist somit unabhänig vom Modulnamen. (siehe "news"). Somit kann man als Besucher nicht nachvollziehen, woher die Seite inculdiert wird.

Zuletzt brauchst du noch die Datei "inhalt.php". Dort wird überprüft, ob das aufgerufene Modul existiert. Falls die Datei im Array (siehe oben) gefunden wird, wird diese Seite eingebunden. In anderen Fall kannst du direkt auf die Startseite verweisen oder einfach eine Fehlerseite ausgeben:
01.
if((isset($_GET['mod'])) AND (isset($dateien[$_GET['mod']])))
02.
		{
03.
		include $dateien[$_GET['mod']];
04.
		}
05.
	else 
06.
		{
07.
		include $dateien['startseite'];
08.
		}
Die Links sehen dann so aus:
01.
<a href='index.php?mod=startseite'>Startseite</a>
So, ich hoffe ich habe nichts vergessen und du blickst einigermaßen durch. Ist vllt. ein bisschen viel Info auf einmal...

@master of disaster
dann hättest du noch die Möglichkeit mit iframes zu arbeiten, oder mit java.
Klingt fast nach einer Ver.....!! Dann kann er gleich bei Frames bleiben und muss nicht pfuschen... Hast du schon mal mit Java eine Seite erstellt?? Schon aus dem Grund, dass jeder i - Punkt als Object programmiert werden muss, würde mir die Lust verderben (wir reden hier von einer Hobbyseite, nicht Firmenseite).


Grüße
Dani
Bitte warten ..
Mitglied: n.o.b.o.d.y
09.09.2007 um 09:55 Uhr
Moin, moin!

Ok, vielen Dank erstmal!!

Ich weiß jetzt, dass ich also mein PHP-Grundwissen wieder auspacken muß um das hinzubekommen, denn ich wollte das schon von Anfang an gleich richtig machen.
Das es draußen regnet und es nicht so aussieht, als wenn das heute noch anders wird, werde ich mich damit mal den lieben langen Sonntag beschäftigen.

Grüße aus dem nassen Norden der Republik!

Ralf
Bitte warten ..
Mitglied: n.o.b.o.d.y
09.09.2007 um 12:02 Uhr
Hallo,

was mir so eben so einfällt:

Kann ich nicht einfach den Navigationsmenüteil der Webseite in eine PHP-Seite (als html+css!) packen, mit include einbinden und fertig?
Quasi nur den Umweg über PHP zum einbinden nehmen, um mit der PHP-Seite einfach HTML drazustellen.

Ok, hört sich ein bisschen krank an, aber könnte das gehen?


<edit:14:22 Uhr>

@Dani

Nach einem Ausflug zu Joomla hab ich mir mal Deine Strickmustervorlage zusammengebaut. Das kann ich doch sehr gut als Grundgerüst verwenden! (werd ich auch tun! )

Danke!

Ralf
Bitte warten ..
Mitglied: Dani
09.09.2007 um 14:36 Uhr
Hi,
Kann ich nicht einfach den Navigationsmenüteil der Webseite in eine PHP-Seite (als
html+css!) packen, mit include einbinden und fertig?
Na klaro....habe ich doch auch gemacht (siehe 1. Code-Beispiel). Einfach ausgelagert....


Grüße
Dani
Bitte warten ..
Ähnliche Inhalte
HTML

CSS 3 - "viewport" Kein gültiges CSS?

gelöst Frage von ukodusHTML2 Kommentare

Hey Leute, gerade hab ich den Code (@viewport { }) durch den CSS-Überprüfer ) durchgejagt und er entgegnete: "Einlese-Fehler ...

CSS

CSS Problem

gelöst Frage von michi1983CSS2 Kommentare

Hallo Admins, eventuell kann mir ja hier einer weiterhelfen, ich stehe offenbar auf der Leitung. Auf folgender Website (die ...

CSS

CSS Verständnisproblem

gelöst Frage von 127944CSS14 Kommentare

Hallo liebe CSS-Gurus, ich habe diesen Code 1:1 übernommen. (ich versuche noch immer mich in CSS einzuarbeiten) Was kann ...

CSS

Hilfe bei CSS

gelöst Frage von emeriksCSS8 Kommentare

Hi, vorne weg: Bin in HTML und CSS nicht so die Leuchte. Ich will bloß ein paar Reports erstellen ...

Neue Wissensbeiträge
iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 11 StundeniOS2 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 2 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 2 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Sicherheit

MikroTik: Sicherheitslücke wird ausgenutzt obwohl ein Update seit langem verfügbar ist

Information von sabines vor 3 TagenSicherheit

Obwohl ein Update, dass die nun massenhaft ausgenutzte Lücke schließt, seit langem (März 2018) verfügbar ist, wird es offensichtlich ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Server 2010: Keine Eingehenden E-MAils
Frage von gabeBUExchange Server16 Kommentare

Hallo Zusammen Ich habe das kurzen auf dem Exchange 2010 Server das Problem, dass ich keine externen E-Mails mehr ...

Rechtliche Fragen
Systemhaus auf Abwegen
Frage von rocco61Rechtliche Fragen15 Kommentare

Hallo zusammen, bin derzeit ratlos bei dem folgenden Scenario: In einen Seniorenheim wurde beschlossen, die IT an eine andere ...

Server
Server in zwei verschiedene Netzwerke einbinden
Frage von BennyFServer10 Kommentare

Hallo zusammen, bei uns im Haus sind im Erdgeschoss die Geschäftsräume und ab dem 1. Stock sind unsere privaten ...

Outlook & Mail
Kalendersync mit Android und Outlook
Frage von Stefan007Outlook & Mail9 Kommentare

Hi Leute, kennt jemand eine Möglichkeit um Termine zwischen installiertem Outlook auf dem PC und dem Kalender auf einem ...