includen - details ...

Fragen zur Implementierung und/oder Anpassung von ConPresso 3.x werden in diesem Forum diskutiert.
Antworten
squidi

includen - details ...

Beitrag von squidi »

Hallochen ,

ich baue eine seite wie folgt auf :

<?php
if(!isset($_GET['action']) || $_GET['action'] == "") {
$_GET['action'] = "home";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Tutorial PHP statt Frames</title>
</head>
<body>
<table width="780" bgcolor="#000000" border="0" cellpadding="0" cellspacing="1" align="center">
<tr>
<td bgcolor="#cdcdcd" colspan="2">
<?php
include("header.php");
?>
</td>
</tr>
<tr>
<td width="200" bgcolor="#cdcdcd" align="center" valign="top">
<br>
<?php
include("navi.php");
?>
<br>
</td>
<td width="580" bgcolor="#ffffff" align="center" valign="top">
<br>
<?php
switch ($_GET['action']) {
case "home":
include("home.php");
break;

case "news":
include("Path to /conpresso/news/index_php.php");
break;

case "irgendwas":
include("irgendwas.php");
break;

default:
include("home.php");
break;
}
?>
<br>
</td>
</tr>
<tr>
<td bgcolor="#cdcdcd" colspan="2">
<?php
include("footer.php");
?>
</td>
</tr>
</table>
</body>
</html>

klappt auch alles wunderbar , nur wenn ich jetzt auf die details ( mehr ... ) der news gehen möchte , sollen diese natürlich auch im selben case ( news ) dargestellt werden. über die administration kann ich jedoch nur target_xyz einstellen , wie mach ich es ? schalter ? *gg*

mfg squidi
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Re: includen - details ...

Beitrag von balu »

Urx, was machst Du denn fuer Sachen? :-)

Ich sehe zwei Moeglichkeiten:

1. Anpassung des ConPresso-Sourcecodes - Datei _include/template_first_header.php; Stichwort: $cpContent["More"]
Lass Dich nicht abschrecken :) - da sieht wuest aus, behandelt aber nur diverse Sonderfaelle. Fuer Dich duerfte das ab ca. Zeile 310 interessant werden (3.4.6-Sourcecode)

$Rubric_sep_window ist gesetzt, wenn der Link in einem anderen Target dargestellt werden soll
$db_mehr unterscheidet zwischen default-Wert und vom Admin geaenderten Text, der statt "Mehr >>>" dargestellt werden soll


2. Modifizierung deines Codes, so dass die Ausgabe der Rubrik erst zwischengespeichert wird - in der Art:

function extendMoreLinks($buffer)
{
// replace detail.php? with
// detail.php?action=foobar&
return (ereg_replace("detail\.php\?", "detail.php?action=".urlencode($_GET['action'])."&", $buffer));
}

case "news":
ob_start('extendMoreLinks');
include("Path to /conpresso/news/index_php.php");
ob_end_flush();
break;


Ich wuerde die zweite Loesung bevorzugen, weil Du dadurch ConPresso ohne Probleme aktualisieren kannst :)

Balu
PS: Ich hoffe der ereg_replace()-Ausdruck passt, ich habs nicht getestet :)
Bartels.Schöne
ConPresso Support & Development
squidi

Re: includen - details ...

Beitrag von squidi »

hi balu ,


also ich habs jetzt mal so getestet , aber leider kein erfolg , die detailseite wird allein im selben fenster geöffnet ohne header , footer , navi ...

<?php
if(!isset($_GET['action']) || $_GET['action'] == "") {
$_GET['action'] = "home";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Tutorial PHP statt Frames</title>
</head>
<body>
<table width="780" bgcolor="#000000" border="0" cellpadding="0" cellspacing="1" align="center">
<tr>
<td bgcolor="#cdcdcd" colspan="2">
<?php
include("header.php");
?>
</td>
</tr>
<tr>
<td width="200" bgcolor="#cdcdcd" align="center" valign="top">
<br>
<?php
include("navi.php");
?>
<br>
</td>
<td width="580" bgcolor="#ffffff" align="center" valign="top">
<br>
<?php
switch ($_GET['action']) {
case "home":
include("home.php");
break;

function extendMoreLinks($buffer)
{
// replace detail.php? with
// detail.php?action=foobar&
return (ereg_replace("detail\.php\?", "detail.php?action=".urlencode($_GET['action'])."&", $buffer));
}

case "news":
ob_start('extendMoreLinks');
include("path to /conpresso/jobs/index_php.php");
ob_end_flush();
break;

case "irgendwas":
include("irgendwas.php");
break;

default:
include("home.php");
break;
}
?>
<br>
</td>
</tr>
<tr>
<td bgcolor="#cdcdcd" colspan="2">
<?php
include("footer.php");
?>
</td>
</tr>
</table>
</body>
</html>


mfg squidi
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Re: includen - details ...

Beitrag von balu »

Hi Squidi,

setz die Funktion extendMoreLinks() mal an den Anfang der Datei - also z.B. kurz nach $_GET['action'] = "home";. Ich glaube nicht, dass es erlaubt ist, die in einem switch-Statement zu setzen (da das keinen Fehler gibt, ist es vielleicht erlaubt, aber koennte unerwartete Resultate geben :)

Balu
Bartels.Schöne
ConPresso Support & Development
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Re: includen - details ...

Beitrag von balu »

Aehm,

sorry - ich hab Deinen Artikel nicht genau gelesen...

Das ist natuerlich klar, denn die detail-Seite wird natuerlich nicht ueber Deinen include geladen, sondern direkt verlinkt.

Warum setzt Du Deinen Header/Footer nicht in die globalen Header-/Footer-Dateien? Dann wuerden sowohl die index.php als auch die detail.php mit Deinem Design dargestellt.

Balu
Bartels.Schöne
ConPresso Support & Development
squidi

Re: includen - details ...

Beitrag von squidi »

hallo balu ,

meine überlegung ging dahin links neben dem main ein menü zu setzen ohne mit frames arbeiten zu müssen und ohne dies in jedes template zu schreiben und über die menüanwahl praktisch nur den caseinhalt zu ändern. das geht auch soweit gut mit obigen script, klappt aber nicht mehr bei verlinkungen wie der detailseite .... würde wahrscheinlich funzen, wenn mann den target selber schreiben könnte und da schreiben könnte , hey lade die detailseite in das case "news" z.b.


mfg squidi
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Re: includen - details ...

Beitrag von balu »

Hi Squidi,

Du kannst das Menue doch rubrikabhaengig in die _category_header.php reinschreiben - oder natuerlich in die globale Header-Datei. Wozu brauchst Du da ein externes Script?

Balu
Bartels.Schöne
ConPresso Support & Development
squidi

Re: includen - details ...

Beitrag von squidi »

hallo balu ...

eigentlich haste auch recht, warum umständlich , wenns auch leicht geht .... ich hab da irgendwas nicht gepeilt mit den tabellen , nu is es natürlich klar ... und ich muss alle designs umschreiben *knurr*

TROTZ ALLEDEM ist die antwort wegen den farben in den vorschauen noch offen , die zugangsdaten hatte ich dir geschickt.


mfg squidi
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Re: includen - details ...

Beitrag von balu »

Hi Squidi, ich habe gerade mal meine Mails durchwuehlt, kann aber die Zugangsdaten nicht finden.

An welche Adresse hast Du die geschickt?

Balu
Bartels.Schöne
ConPresso Support & Development
Antworten