PHP-Befehle in Templates, wie?

Alles zu Styles, Templates, Icons und Smilies für phpBB 2.0, sowie allgemeine Designfragen zur Integration von phpBB in bestehende Websites.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Aho
Mitglied
Beiträge: 244
Registriert: 06.06.2002 15:26
Wohnort: Gütersloh

Beitrag 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.
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag 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:

Code: Alles auswählen

$template->pparse('body');
[size=0]ich hoffen das das pparse wirklich existert da ich momentan zu faul bin in der template.php nachzuschauen[/size]

ah
Aho
Mitglied
Beiträge: 244
Registriert: 06.06.2002 15:26
Wohnort: Gütersloh

Beitrag von Aho »

hat auch nicht geklappt. aber trotzdem hier nochmal meine templates.php:

funktion heißt schon richtig... mfg saerdnaer
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag 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
Aho
Mitglied
Beiträge: 244
Registriert: 06.06.2002 15:26
Wohnort: Gütersloh

Beitrag 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 ?
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

kannst du so machen wie du willst... ;-)

ah
Aho
Mitglied
Beiträge: 244
Registriert: 06.06.2002 15:26
Wohnort: Gütersloh

Beitrag 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.
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag 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...
Aho
Mitglied
Beiträge: 244
Registriert: 06.06.2002 15:26
Wohnort: Gütersloh

Beitrag von Aho »

wow, super lösung. ich checke das mal ab und dann sag ich hier nochmal bescheid.
Aho
Mitglied
Beiträge: 244
Registriert: 06.06.2002 15:26
Wohnort: Gütersloh

Beitrag 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:

Code: Alles auswählen

		<?php
		include $rezept;
		?>
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 ?
Antworten

Zurück zu „phpBB 2.0: Styles, Templates und Grafiken“