Smarty Include PHP Problem

  • Themenstarter Themenstarter ByeBye 182971
  • Beginndatum Beginndatum
B

ByeBye 182971

Hi Leute ich hab da eine Frage:

Ich binde meine Unterseiten per $_GET['page'] ein. Das Problem ist, dass ich noch weitere "Unterseiten"/Aktionen per $_GET['action'] einbinde.

ein beispiel: ?page=profil&action=show_all dazu sollte die datei: profil_show_all.tpl geladen werden. Wenn nur ?page=profil dann nur die profil.tpl.


der code(-auszug) aus der index.php sieht so aus:
PHP:
$smarty = new Smarty;

if (isset($_GET['page']) && isset($dateien[$_GET['page']]))
{
	if(file_exists($dateien[$_GET['page']]))
	{
		if (isset($_GET['action']))
		{
			include ($dateien[$_GET['page']] . ".php");
			$smarty->assign('page', $dateien[$_GET['page']] . "_" . $_GET['action']);
		}
		else
		{
			include ($dateien[$_GET['page']] . ".php");
			$smarty->assign('page', $dateien[$_GET['page']]);
		}

	}
}
else
{
	include ($dateien['news'] . ".php");;
	$smarty->assign('page', $dateien['news']);
}

$smarty->display('index.tpl');

in der index.tpl sieht es dann so aus:
HTML:
[...]
<td width="519" valign="top">
<p>
{include file="$page.tpl"}
</p>
</td>
[...]

So war es gedacht bzw so habe ich es versucht aber es klappt nicht. Habt ihr eine bessere Idee dazu?

error bei ?page=profil&action=show_all:
Code:
Warning: Smarty error: unable to read resource: ".tpl" in /usr/....alpha/inc/lib/Smarty/Smarty.class.php on line 1095

wenn ich kein $_GET['page'] oder $_GET['action'] habe, wird regulär die news.tpl angezeigt.

bei ?page=register:
Code:
Warning: Smarty error: unable to read resource: ".tpl" in /usr/..../alpha/inc/lib/Smarty/Smarty.class.php on line 1095

Kann mir einer Helfen? Ich würde mich sehr freuen über Hilfe.

Danke Gruß suf*****
 
Zuletzt bearbeitet von einem Moderator:
will mir keiner helfen oder kann mir keiner helfen?

Sonst muss ich meine Eigene Engine schreiben lol
 
ja aber so ist es ja gar nicht.....

bei index.php?page= müsste sie doch "voll" sein?!
 
PHP:
$smarty->assign('page', $dateien['news']);

Da das hier klappt und:

PHP:
$dateien[$_GET['page']] . "_" . $_GET['action']

diese nicht, würde ich mal testweise die $_GET Werte ausgeben lassen, ob sie überhaupt gefüllt sind.

Bzw. auch mal im Smarty Template einfach ein {$page} ausgeben, um zu gucken ob der Inhalt stimmt.
 
ja okmach ich mal schaun ich denke eh dass ich eventuellerstmalneeigene tpl engine schreibe
 
Zurück