Smarty - (Warning: Smarty error: unable to read resource:)

Benutzer-621

abgemeldet
20 April 2006
744
64
Moin,
Habe irgendwie Probleme mit Smarty, also habe Smarty (2.6.18) auf Server mit PHP 4.4.0 (auch schon mit PHP 5.2.1 getestet) geladen und immer wenn ich unteren Code im Ordner libs testen möchte erscheint "Warning: Smarty error: unable to read resource: "index.tpl" in /var/www/web163/html/www/Smarty-2.6.18/libs/Smarty.class.php on line 1095". Scheint wohl ein allseits bekanntest Problem zu sein, bin aber über Google und Ausprobieren bisher noch nicht weitergekommen. Hoffe mal ihr könnt mir helfen :D.

PHP:
include('Smarty.class.php');

// create object
$smarty = new Smarty;

// assign some content. This would typically come from
// a database or other source, but we'll use static
// values for the purpose of this example.
$smarty->assign('name', 'george smith');
$smarty->assign('address', '45th & Harris');

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

Inhalt: index.tpl
PHP:
<html>
<head>
<title>User Info</title>
</head>
<body>

User Information:<p>

Name: {$name}<br>
Address: {$address}<br>

</body>
</html>
 
Die Meldung besagt, dass Smarty nicht auf das Template zugreifen kann, vermutlich weil es sich nicht dort befindet, wo es erwartet wird. Sofern nicht anders konfiguriert müssen Template-files im Unterverzeichnist 'templates' liegen.
Am besten du läßt den Smarty Ordner in Ruhe und bindest die Templateengine aus dem darüberliegenden Verzeichnis mittels

require('libs/Smarty.Class.php');

ein. Dort kannst du dann auch die templates templates_c Verzeichnisse anlegen.
 
Die Meldung besagt, dass Smarty nicht auf das Template zugreifen kann, vermutlich weil es sich nicht dort befindet, wo es erwartet wird. Sofern nicht anders konfiguriert müssen Template-files im Unterverzeichnist 'templates' liegen.
Am besten du läßt den Smarty Ordner in Ruhe und bindest die Templateengine aus dem darüberliegenden Verzeichnis mittels

require('libs/Smarty.Class.php');

ein. Dort kannst du dann auch die templates templates_c Verzeichnisse anlegen.

Dankeschön, klappt wunderbar. Habe nun noch ne Frage, wie stell ichs am besten um, wenns net zu aufwenidg ist, damit ich den Ordner templates_c und Inhalt nicht brauche, oder wird das gebraucht?
 
Habe nun noch ne Frage, wie stell ichs am besten um, wenns net zu aufwenidg ist, damit ich den Ordner templates_c und Inhalt nicht brauche, oder wird das gebraucht?
Der wird gebraucht. Smarty speichert darin die kompilierten Templates, um sie beim nächsten Aufruf nicht noch einmal parsen zu müssen.

Evtl kann man da mit einer Einstellung in Smarty was ändern (force_compile oder so was in der Art), aber ich würde davon abraten. Smarty wird wesentlich effizienter arbeiten, wenn Du den Ordner behältst.