Seite 1 von 2

Mehrere *tpl datei mit einer *php datei öffnen?!?

Verfasst: 17.01.2007 15:23
von Werbung
Hallo,

ich bin noch anfänger was php angeht und hab nun eine kleine Frage dazu und zwar, möchte ich gerne mit einer *php datei. mehrere *tpl dateien öffenen.
Natürlich ist die Sprachdatei auch geändert worden!

So sieht mein Script zur zeit aus:

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_BLA);
init_userprefs($userdata);

include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->assign_vars(array(
	'L_BLA' => $lang['Bla'],
	)
 );

$template->set_filenames(array(
'body' => 'bla_body.tpl')
);

$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

// next site "Kuck Kuck"
$template->assign_vars(array(
	'L_KUCK_KUCK' => $lang['Kuck_Kuck]
	)
 );	

$template->set_filenames(array(
'next' => 'kuck_kuck.tpl')
);

$template->pparse('next');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Nun, die erste Datei "Bla" funtkioniet ohne Probleme. Aber leider hab ich keinen zugriff auf meine zweite Seite "Kuck Kuck".
Wie muss ich denn den Link auf meine "Kuck Kuck" Seite verweißen?

Wie muss mein {U_KUCK_KUCK} ausschauen?!? Oder hab ich noch etwas vergessen, damit das funktioniert??
Oder sollte ich lieber für jeden *tpl datei eine eigene *php datei nutzen?

Danke für die Hilfe schon mal.

MfG Werbung

Verfasst: 17.01.2007 15:27
von S2B
Den Page Header brauchst du nur einmal oben und den Page Footer nur einmal unten. :wink:

Verfasst: 17.01.2007 15:35
von Werbung
Hi,...

ich hab mich wohl oben etwas blöd ausgedrückt....
Die einzelnen *tpl dateien sollen in unterschiedliche seiten aufgehen und nicht im der selben Seite.
Den Page Header brauchst du nur einmal oben und den Page Footer nur einmal unten.
Danke für die Info, aber den Page Header hab ich doch nur einmal und den Page Footer brauch ich zweimal, weil er ja sonst die beiden *tpl dateien auf einer Seite ausgibt, was ich ja nicht will.

MfG Werbung

Verfasst: 17.01.2007 17:01
von S2B
Wie zwei Seiten? Es sollen zwei Seiten gleichzeitig geöffnet werden? Das ist mit PHP nicht und mit HTML in Verbindung mit JavaScript auch nur begrenzt möglich.

Verfasst: 17.01.2007 17:16
von kolja
oder meinst du es do wie bei der posting.php, die ja fürs posten und für die pn´s da ist ??

kolja

Verfasst: 17.01.2007 17:17
von Werbung
Das ist mit PHP nicht und mit HTML in Verbindung mit JavaScript auch nur begrenzt möglich.
Um dies zu realisieren könnte ich popup oder einen frame nutzen... möglich wäre es. Aber das ist grad nicht mein Problem... :wink:


Ne, es soll schon NUR eine seite geöffnet werden.
Also,...
ich möchte, mit dem script, eine Seite öffnen,.. einmal die "Bla" Seite und dann von der Seite aus die "Kuck Kuck" Seite. Oder umgekehrt.
oder meinst du es do wie bei der posting.php, die ja fürs posten und für die pn´s da ist ??
Ja, im prinzip mein ich das... 8)
Es soll also möglich sein, mit einer php datei... verlinkunen bzw. eine andere *tpl datei zu öffnen.

Ich will mir so zusagen, ein *php datei sparen.

MfG Werbung

Verfasst: 17.01.2007 17:36
von kolja
das musst du mit POST arbeiten

schau dir mal die posting.php (url) in beiden fällen an
einmal wird per POST der mode reply und einmal der mode post übergeben

und damit hast du deine 2in1 php datei :-)

kolja

Verfasst: 17.01.2007 19:40
von Pyramide

Code: Alles auswählen

include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
    'eins' => 'eins.tpl',
    'zwei' => 'zwei.tpl'
));

$template->assign_vars(array(
    'L_BLA' => $lang['Bla'],
    'BLUB' => 'möp'
));

if($eins) {
    $template->pparse('eins');
}
else {
    $template->pparse('zwei');
}

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

Verfasst: 17.01.2007 22:02
von Werbung
Danke Pyramide für dein Code...
das Leuchtet mir alles ein... nur versteh ich nicht, warum es bei mir von anfang an auf die Seite "zwei" springt... hab es jetzt mal vertauscht...

Code: Alles auswählen

if($eins) {
    $template->pparse('zwei');
}
else {
    $template->pparse('eins');
} 
Nun wird auch die richtige Seite "eins" als erstes angezeigt.

Hab noch mit dem Link probleme um "zwei.tpl" aufzurufen. Wie gesagt hab ich es mit dem Post versucht aber hm,.... so weit bin ich gekommen....
ist aber noch nicht wirklich vollständig.

Code: Alles auswählen

'U_ZWEI => append_sid("bla.$phpEx?" . POST_FORUM_URL . "=$zwei")
*grübel* :-?

MfG Werbung

Verfasst: 17.01.2007 22:36
von S2B
$eins ist noch nicht definiert. Du könntest das z.B. so lösen:

Code: Alles auswählen

$page = (isset($HTTP_GET_VARS['page'])) ? $HTTP_GET_VARS['page'] : '';

if ($page == 'eins')
{
  $template->pparse('eins');
}
else if ($page == 'zwei')
{
  $template->pparse('zwei');
}
Aufrufen würdest du das Ganze dann so:

Code: Alles auswählen

datei.php?page=eins
datei.php?page=zwei