Seite 3 von 5
Verfasst: 12.06.2003 20:12
von Aho
hmm, danke. am liebsten würde ich das ja immer so machen, aber ich hab da noch keine routine drin.
es klappt aber trotzdem nicht. ergebnis ist das selbe.
hier mal die komplette rezepte.php
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_REZEPTE);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'rezepte_body.tpl')
);
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
switch ($HTTP_GET_VARS['r']) {
case 1:
$rezept = "Rezept Nr1";
break;
case 2:
$rezept = "Rezept Nr2";
break;
case 3:
$rezept = "Rezept Nr3";
break;
default:
$rezept = "Bitte auf der rechten seite ein gericht auswählen";
}
$template->assign_vars(array(
'REZEPT' => $rezept)
);
?>
und wie du sagtest im template einfach {REZEPT} hab ich gemacht. aber an der besagten stelle kommt wieder nix.
Verfasst: 12.06.2003 20:17
von saerdnaer
ähm ja wenn du dem script nicht sagst das die template datei geparsed werden soll kommt natürlich nichts raus...
füge eingach vor ?> folgendes ein:
[size=0]ich hoffen das das pparse wirklich existert da ich momentan zu faul bin in der template.php nachzuschauen[/size]
ah
Verfasst: 12.06.2003 21:03
von Aho
hat auch nicht geklappt. aber trotzdem hier nochmal meine templates.php:
funktion heißt schon richtig... mfg saerdnaer
Verfasst: 12.06.2003 21:09
von saerdnaer
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_REZEPTE);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'rezepte_body.tpl')
);
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
switch ($HTTP_GET_VARS['r']) {
case 1:
$rezept = "Rezept Nr1";
break;
case 2:
$rezept = "Rezept Nr2";
break;
case 3:
$rezept = "Rezept Nr3";
break;
default:
$rezept = "Bitte auf der rechten seite ein gericht auswählen";
}
$template->assign_vars(array(
'REZEPT' => $rezept)
);
?>
schieb den grünen block vor den roten...
ah
Verfasst: 12.06.2003 21:31
von Aho
ok, mein fehler. konnte das ja nicht wissen das das nach ganz unten kommen muß.
nebenbei gefragt, wie sollte ich das am besten machen ?
ich will ja das da rezepte angezeigt werden, so richtig mit bilder usw. soll ich den ganzen text in die swich/case abfrage machen, oder sollte ich da lieber alles in eine externe datei legen und dann in der swich/case abfrage includen oder so ähnlich.
kannste mir da bitte ein paar tipps nennen ?
Verfasst: 13.06.2003 18:18
von saerdnaer
kannst du so machen wie du willst...
ah
Verfasst: 13.06.2003 19:33
von Aho
danke für den echt fachmännischen rat
ne, im ernst. was meinst du ? könnte ich da nicht was mit templates machen ? so das jedes rezept in eine tempate-datei kommt und die dann einfach aufgerufen wird. so hat man am wenigsten arbeit beim ändern der rezepte.
Verfasst: 15.06.2003 13:05
von saerdnaer
könnte man schon...
anstatt
Code: Alles auswählen
$template->set_filenames(array(
'body' => 'rezepte_body.tpl')
);
einfach folgedes schreiben:
Code: Alles auswählen
$template->set_filenames(array(
'body' => 'rezept' . $HTTP_GET_VARS['r'] . '_body.tpl')
);
und dann die einzelnen rezepte in die entsprechen templatedateinen z. b. rezept1_body.tpl für rezept 1 usw...
Verfasst: 15.06.2003 22:55
von Aho
wow, super lösung. ich checke das mal ab und dann sag ich hier nochmal bescheid.
Verfasst: 18.06.2003 00:55
von Aho
also, ich hab das ganze ein wenig anders gemacht und zwar so:
in meine rezepte.php habe ich folgendes eingefügt:
Code: Alles auswählen
$rezept = 'templates/rezepte/rezepte_body_'.$HTTP_GET_VARS['r'].'.tpl';
und in meine rezepte_body.tpl das hier:
aber irgendwie klappt das nicht, da kommt immer:
Code: Alles auswählen
Warning: Failed opening '' for inclusion (include_path='.:/usr/share/php') in /home/www/web1/html/includes/template.php(478) : eval()'d code on line 83
wie kann ich den inhalt der variable includen ? ich habe das so gemacht, das ich ein ordner rezepte habe, wo ich immer den body der ganzen rezepte reintue, damit ich das nicht immer für alle 4 styles die ich habe ändern muß.
oder gibts da noch ne bessere lösung ?