[PHP] Div-Container, aber keine Ahnung, wie darauf verlinkt wird

  • #1
S

smartie

Guest
Moin, :)

Ausgangspunkt war ein Frameset:

Code:
<frameset rows=110,26,* border=0 onLoad=frameda()>
 <frameset cols=*,204 onLoad=frameda()>
  <frame src=banner.html name=banner scrolling=no marginwidth=0 marginheight=5 frameborder=0 noresize>
  <frame src=logo.html name=logo scrolling=no marginwidth=0 marginheight=10 frameborder=0 noresize>
 </frameset>
 <frame src=navigation.html name=navigation scrolling=no marginwidth=10 marginheight=0 frameborder=0 noresize>
 <frame src=start.html name=haupt scrolling=auto marginwidth=10 marginheight=10 frameborder=0 noresize>
 <noframes>
        Ihr Browser kann diese Seite leider nicht anzeigen!
 </noframes>
</frameset>
von hier: http://clan.wintotal-forum.de/old/
(Ich weiß, nicht 100% Standard-konform, halt das typische Problem mit dem Rahmen)


Nun baue ich die Seite grad in das CMS Conpresso ein. Dabei hab ich die Chance genutzt, um das Ganze mit PHP laufen zu lassen. Also Frameset umgeschrieben nach Div-Containern und Design mittels CSS. Sieht dann so aus:

Code:
<?php
echo         <link rel=\stylesheet\ type=\text/css\ href=\page.css\ />\n;
echo         <div id=\root\>\n; // ganz oberer Div-Holder
echo             <div id=\global_header\>\n; // globaler Header
include _cfg/global_header.php;
echo             </div>\n;
echo             <div id=\category_header\>\n; // Navigation
include start/_category_header.php;
echo             </div>\n;
echo             <div id=\content\>\n; // Content
include start/index.php;
echo             </div>\n;
echo        </div>\n;
?>
von hier: http://clan.wintotal-forum.de/


Jetzt hab ich das Problem: Wenn ich in der Navi was anklicke, weiß ich nicht, wie ich sagen kann: Öffne den Link im Content-Container. Wie funktioniert das?

Vielen Dank im Voraus. :)
 
  • #2
Code:
<?php
echo     <link rel=\stylesheet\ type=\text/css\ href=\page.css\ />\n;
echo     <div id=\root\>\n; // ganz oberer Div-Holder
echo       <div id=\global_header\>\n; // globaler Header

include _cfg/global_header.php;

echo       </div>\n;
echo       <div id=\category_header\>\n; // Navigation

include start/_category_header.php;

echo       </div>\n;
echo       <div id=\content\>\n; // Content

if($_REQUEST['action']) {
	switch($_REQUEST['action']) {
		case start: include start/index.php; break;
		case allg:	include allgemeines/allgemeines.html; break;
		case cod:  include cod/cod.html; break;
		case et:	 include et/et.html; break;
		default:	 include start/index.php; break;
	}
}
else {
	include start/index.php;
}

echo       </div>\n;
echo     </div>\n;
?>

Anschließend die Navigationslinks renovieren !!!

Form => datei.html?action=???

wobei datei.html theoretisch die index.php sein sollte

gruss conny
 
  • #3
Sag mal irgendwie gewinne ich hier den Eindruck das hier gerade DIV Container arg vergewaltigt werden. Wozu soll das überhaupt gut sein? Welchen nutzen hat, wenn ich diese Frage mal stellen darf, überhaupt diese Umstellung?!?!

Mag ja sein das ich hier im moment etwas Kleingeistig denke, aber ich sehe echt keinen Sinn.
 
  • #4
Moin, :)

ok, über die Nachteile von Frames brauchen wir nicht sprechen, die sind bekannt.

Also suchte ich nach einer Alternative. Diese DIV-Variante ist die Einzige, die relativ sauber und einfach zu implementieren ist, ohne Hacks anzuwenden oder gegen W3C-Standards zu verstoßen.

Oder was meintest du?

@Conny: Vielen Dank, werd ich gleich mal ausprobieren, derzeit war nur der Startbutton-Link richtig verlinkt, alle anderen sind Leichen. :)
 
  • #5
Nun ja, ich frage mich wieso du die Seite ausgerechnet in ein CMS System reinpressen willst und ob es da nicht bessere Alternativen gibt. Ich dachte eigentlich immer das ein CMS für den Inhalt einer Seite da ist und nicht das ich mir ihr das Seiten Design verändere. Deswegen heißt es ja auch in Langform CONTEN MANAGMENT SYSTEM, und nicht SITE MANAGMENT SYSTEM. Wenn du das Design deiner Seite schnell und einfach anpassen möchtest würde ich dir ein Template System empfehlen. Mir persönlich gefallen die Möglichkeiten und die Flexibilität von XML zusammen mit XPATH und XLST (+CSS) sehr gut. Ist außerdem auch der Weg den die W3C empfiehlt und wo es auch in Zukunft hingehen soll. Ein einfacher Ableger dieses drei Gestirns ist übrigens XHTML und CSS!

P.S: IMHO sind einige Vergewaltigungen von W3C Standards (die aber damit noch immer W3C konform sind) genauso Krücken und genauso besch*** wie irgendwelche Non konformen Lösungen.

Übrigens, manchmal gibt es einfach keine Vernünftige Lösung zu einem Problem so das man vieleicht gänzlich umdenken muss/kann/sollte ;D
 
  • #6
Moin, :)

die Seite soll deswegen in ein CMS, weil 4-5 Laute dran arbeiten, teils gleichzeitig. Also es kommt nicht von ungefähr. Die Frame-Lösung hat mir noch nie so richtig gefallen, und wenn ich es schon was ändere, dann das auch gleich mit. :)
 
  • #7
PCDSmartie schrieb:
Moin, :)

die Seite soll deswegen in ein CMS, weil 4-5 Laute dran arbeiten, teils gleichzeitig. Also es kommt nicht von ungefähr. Die Frame-Lösung hat mir noch nie so richtig gefallen, und wenn ich es schon was ändere, dann das auch gleich mit. :)

*gg* Ähm also dafür gibt es DEFFINITV andere Möglichkeiten! Schon mal an so Sachen wie CVS Systeme gedacht ( Content Version System ) ??? Damit wird Software zum Bleistift entwickelt. Damit ist das Problem gelöst. Sehr geil weil du noch bessere Kontrolle über die einzelnen Versionen hast.

P.S. Schau mal hier vorbei http://www.gnu.org/software/cvs/ Übrigens, der Client läuft auch unter Windows!
 
  • #8
Moin, :)

mag sein, dass es andere Lösungen gibt, blos mir stellt sich die Frage nach der Verhältnismäßigkeit. ;) Ich will nicht mit Kanonen auf Spatzen schießen, und die Seite ist jetzt nicht megagroß, sondern eher Mini. Und ich (oder noch besser: die Mitgestalter) brauche(n) nur ein Mittel, um sich nicht in die Quere zu kommen. Das CMS ist auch recht schlank, genau das, was ich suchte, halt was minikleines handliches, das mir genau die Sachen zur Verfügung stellt, die ich brauche. Außerdem ist es auch für mich Neuland, die Seite steht jetzt nicht sooo dermaßen im Mittelpunkt des Internets ;), und ich hab die Chance, mal was über CMSs und PHP zu erfahren. Also auch irgendwo was experimentelles. :)
 
  • #9
Also Leut, ich versteh das nicht :-\


  • [li]1. Hat die Diskussion nix mit der Frage zu tun ;)[/li]
    [li]2. Darf jeder seinen Webauftritt so gestalten wie es ihm beliebt ;) ob's nu Sinn macht oder nicht, sei dahingestellt.[/li]
    [li]3. Kann jeder seine Software zum Coden frei wählen ;) Ich habe mir z.B. (aus best. Gründen ;)) abgewöhnt Partei gegen Frontpage zu beziehen.[/li]
    [li]4. ist eine Umstellung eines bestehenden Web-Auftritts von Frame auf z.B. DIV-Tags 687% einfacher als den ganzen Kruscht in XHTML/XPATH abzuändern[/li]

gruss conny
 
  • #10
Conny ich gebe dir gerne recht, und auch unser Smarti hat recht. Ich rede ja auch in erster Linie nicht vom Sinn und Unsinn der Variant DIV vs. XML und XPATH sondern über Sinn und Unsinn von CMS vs. CVS. Ich persönlich halte es eben für nicht gerade die Ideale Lösung. Jeder kann machen was er will. Ich wollte nur den Hinweis dazu geben wie man es besser machen kann. HÄTTE ja sein können das Smartie nur nix anderes eingefallen ist. Nicht mehr und nicht weniger.

Ist wenn man es streng nimmt genauso nur ein Hinweis wie der keine Sonderzeichen und Leerzeichen in Dateinamen zu verwenden.

So und jetzt genug von meiner Seite. ;D

The Web is not enough!!
 
  • #11
Moin, :)

ich noch mal:

Die Navi will noch nich. Ich denke, da ist auch der Fehler. Hier die Code:

Code:
<div id=ddimagetabs>
 <a href=index.php?action=start>Start</a>
 <a href=index.php?action=allg>Allgemeines</a>
<!-- <a href=index.php?action=utclassic>UT Classic</a>
 <a href=index.php?action=mohaa>MoH:AA</a>-->
 <a href=index.php?action=cod>Call of Duty</a>
 <a href=index.php?action=et>ET</a>
<!-- <a href=index.php?action=ut2k4>UT 2004</a>-->
 <a href=index.php?action=gb>Gästebuch</a>

Sieht wer einen Fehler? Bisher siehts so aus: http://clan.wintotal-forum.de/
 
  • #12
Füge mal ein print_r ein

Code:
<?php
......
if($_REQUEST['action']) {
	print_r($_REQUEST);
	switch($_REQUEST['action']) {

......
?>
 
  • #13
Moin, :)

gern, aber wo? Wofür stehen die Punkte? ;D
 
  • #14
LOOOOOOOOOOOOOOOOL

die Punkte bedeuten, da ist noch was davor und dahinter ;D ;D ;D


Code:
<?php
echo     <link rel=\stylesheet\ type=\text/css\ href=\page.css\ />\n;
echo     <div id=\root\>\n; // ganz oberer Div-Holder
echo       <div id=\global_header\>\n; // globaler Header

include _cfg/global_header.php;

echo       </div>\n;
echo       <div id=\category_header\>\n; // Navigation

include start/_category_header.php;

echo       </div>\n;
echo       <div id=\content\>\n; // Content

if($_REQUEST['action']) {
	print_r($_REQUEST);
	switch($_REQUEST['action']) {
		case start: 	include start/index.php; break;
		case allg:	include allgemeines/allgemeines.html; break;
		case cod:		include cod/cod.html; break;
		case et:		include et/et.html; break;
		default:		include start/index.php;
	}
}
else {
	include start/index.php;
}

echo       </div>\n;
echo     </div>\n;
?>

jetzt ohne Punkte ;) ;)
 
  • #15
OK, habs gesehen ;)

Moment ;)
 
  • #16
Ähmm, bei mir klappts ;D ;D

Poste nochmal die GANZE index.php
 
  • #17
Moin, :)

gern, aber ich krieg bestimmt gleich Schläge, nehm ich mal an. ;D

Also das CMS baut die Seiten aus mehreren Teilen zusammen. Das kann man im Administrator-Handbuch auf Seite 6 nachlesen: http://www.conpresso.de/conpresso/de_download/index.php

index.php:

Code:
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap: */
// +----------------------------------------------------------------------+
// | ConPresso version 3                                                  |
// +----------------------------------------------------------------------+
// | Copyright (c) 2000-2003                                              |
// | Bartels Schoene GmbH & Co. KG, 48149 Muenster, Germany               |
// +----------------------------------------------------------------------+
// | This source file is subject to ConPresso license version 2002-11-16  |
// | that is bundled with this package in the files LICENSE_EN.TXT or     |
// | LICENSE_DE.TXT, and is available at through the world-wide-web at    |
// |    [url]http://www.conpresso.de/license/LICENSE_EN-2002-11-16.TXT[/url] or      |
// |    [url]http://www.conpresso.de/license/LICENSE_DE-2002-11-16.TXT [/url]        |
// | If you did not receive a copy of the ConPresso license and are       |
// | unable to obtain it through the world-wide-web, please send a note   |
// | to [email][email protected][/email] so we can mail you a copy immediately.       |
// +----------------------------------------------------------------------+
// | Authors: ConPresso development and support team                      |
// |          <[email protected]>                                      |
// +----------------------------------------------------------------------+
//
// $Id: index.php,v 1.1.1.1.2.5 2004/02/06 09:08:38 balu Exp $

echo         <link rel=\stylesheet\ type=\text/css\ href=\page.css\ />\n;
echo         <div id=\root\>\n; // ganz oberer Div-Holder
echo             <div id=\global_header\>\n; // globaler Header
include _cfg/global_header.php;
echo             </div>\n;
echo             <div id=\category_header\>\n; // Navigation
include start/_category_header.php;
echo             </div>\n;
echo             <div id=\content\>\n; // Content
if($_REQUEST['action']) {
print_r($_REQUEST);
switch($_REQUEST['action']) {
case start: include start/index.php; break;
case allg: include allgemeines/index.php; break;
case cod: include cod/index.php; break;
case et: include et/index.php; break;
default: include start/index.php; break;
}
}
else {
include start/index.php;
}
echo             </div>\n;
echo        </div>\n;

?>

Die start/index.php kommt aus der Datenbank.
 
  • #18
OK, ich glaub ich habs.

in allen Dateien, die du im Content aufrufen möchtest, wird
Code:
<?php
if (!defined('CPO')) exit;
?>
abgefragt.
Ist CPO nicht definiert, stirbt er ;) ;)

Nu hab ich allerdings keine Weisnix, was CPO ist :-\ :-\
 
  • #19
Hi,

darf ich mich einmischen? ;)
Ich hab nämlich ma nen blick ins FehlerLog geworfen :)

z.B. die start/index.php will noch was includen und zwar die ../_cfg/const.php.dist, dadurch, dass die start/index.php aber schon in die index.php includet wurde stimmt das mit dem ../_cfg nich mehr, weil das aktuelle Verzeichnis jetzt nicht mehr /start ist sondern / und damit kein Verzeichnis mehr hochgegangen werden muß bzw. darf.

Aber warum, wenn ich ma fragen darf, gehst du überhaupt den Umweg über diese index.php?
man kann die seiten doch alle direkt über /start/index.php /allgemeines/index.php ... aufrufen.
 
  • #20
PCDBjörn schrieb:
.....
Aber warum, wenn ich ma fragen darf, gehst du überhaupt den Umweg über diese index.php?

Ähmm, an welche Adresse war das gerichtet ?

gruss conny
 
Thema:

[PHP] Div-Container, aber keine Ahnung, wie darauf verlinkt wird

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben