Bekomme smarty nicht zum laufen

Black Panter

Mitglied
Hi,

seit kurzem beschaeftige ich mich mit smarti und habe bisher gleich am Anfang ein sehr aergerliches Problem immer noch nicht geloest bekommen.

Ich habe folgendes Tutorial genommen:

http://www.ibitlive.eu/index.php?p=tutorials&action=show_tutorial&id=53

Ich habe alle Anweisungen wie sie dort beschrieben sind ausgefuert.

Wenn ich jedoch die index.php versuche aufzurufen bekomme ich als Fehlermeldung:
arning: Smarty error: unable to read resource: "templates/template.html" in G:\xampp\htdocs\smarty\smarty\Smarty.class.php on line 1093

Ich benutze die aktuelle XAMPP version.

Alle Ordner sind auch korrekt angegeben.

Wie bekomme ich jetzt smarty zum laufen? Muss ich dafuer was an meinem XAMPP umstellen?

Gruesse aus Japan
Soeren
 
Die Fehlermeldung sagt doch schon alles, er kann die Datei ""template.html" im Ordner "templates" nicht lesen.
Heißt für mich dass diese entweder nicht vorhanden ist, der Pfad doch falsch angegeben wurde oder etwas mit deinen Rechten nicht stimmt.

Es wäre hilfreicher wenn du den Quellcode posten würdest den du mit Hilfe des Tutorial geschrieben hast.
 
Der Qellcode is der gleiche wie im Tutorial:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
        "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
 <head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <title>{*$title*}</title>
 </head>
 <body>
   <div style="width:500;margin:auto;">
     {*$content*}
   </div>
 </body>
</html>

PHP:
<?php
  require_once("smarty/Smarty.class.php"); // Smarty includen
  
  $TestSeite=new Smarty; // Ein neues Smartyobjekt erzeugen
  $TestSeite->assign("title","Eine Testseite mit Smarty"); // Der Variable {*$title*} einen Wert zuweisen
  $TestSeite->assign("content","Der Test-Inhalt");
  $TestSeite->display("templates/template.html"); // die Datei "templates/template.html" einbinden
?>
 
also meine Config-Datei von Smarty sieht so aus:

PHP:
        $smarty = new Smarty;
	$smarty->compile_check = true;
	#$smarty->debugging = true;
	$smarty->template_dir = "smarty/templates";
	$smarty->compile_dir  = "smarty/templates_c";
	$smarty->config_dir   = "smarty/configs";
	$smarty->cache_dir    = "smarty/cache";
	$smarty->caching      = false;

Diese dann in einer Globalen Datei verfügbar machen und auf den Seiten einbinden.
 
Ich kann da weder syntaktisch noch semantisch einen Fehler ausmachen. Es scheint einfach so, als würde, wie RipmaV bereits treffend gesagt hat, schlichtweg der Pfad zu deinem Template falsch sein. So wie es jetzt ist sollte es in etwa so aussehen:

Code:
- | smarty
- | ---- ...
- | ---- Smarty.class.php
- | ---- ...
- | templates
- | ---- template.html
- | index.php

PS: Wo ich mir gerade nochmal die Doku zu display() anschaue.. gibt man als Parameter einen relativen Pfad an, geht er dann vom template_dir aus? Dann müsste man diesen natürlich auf den root-Ordner setzen, damit es so klappt.
 
Vielen dank fuer die hilfe.

Es lag daran, das in der config von smarty nur "templates" stand. Jetzt wo ich das auf "smarty/tamplates" geandert hab funktioniert alles einwandfrei :D

Nochmal vielen dank. =)

Gruesse aus Nipon
Seren-san
 
Zurück