Problem mit Smarty

xtratz

Gesperrt
Hallo Leute,

mal wieder ich!

Habe gerade Smarty installiert.
Genau so wie es beschrieben ist.

Dann habe ich nach Anleitung ein einfaches Template erstellt.

index.php:
PHP:
<?php
require("Smarty.class.php");
$smarty = new Smarty;
$smarty->assign("Name","Ned");
$smarty->display("index.tpl");
?>

index.tpl:
PHP:
<HTML>
<TITLE>Hello</TITLE>
<BODY>
    Hello, {$Name}!
</BODY>
</HTML>

Jetzt kommt beim Aufruf der index.php eine leere weise Seite.
Wenn ich in den Quelltext schaue dann bekomme auch nur:

<html><body></body></html>

angezeigt.

Kann mir jemand einen Tipp geben ?!
Ich verzweifle solangsam.

Gruss
 
Danke Dir.
Aber es funktioiniert immer noch nicht.

Aber man kann doch nicht davon ausgehen das jeder Provider die Smarty class in seinem php Verzeichnis hat.
Ich habe die smarty dateien alle im selben Verzeichnis also :

www/test/Config_File.class.php
www/test/Smarty.addons.php
www/test/Smarty.class.php
www/test/index.php
www/test/templates_c
www/test/templates
www/test/configs
www/test/cache

Das dürfte doch kein Problem sein oder ?!


Gruss
 
Zuletzt bearbeitet:
hmm wird denn smarty überhaupt erzeugt? denn irgendwie sieht mir das net so aus nach deiner fehler beschreibung
 
da die smarty class mit require eingebunden ist, müsste php ja eine Fehlermeldung ausgeben, wenn er sie nicht finden würde.
Ist 'test' dein document-Verzeichnis ? Denn da müssen die Ordner templates und templates_c drin sein, sofern nicht anders definiert. Sonst defniere sie trotzdem vielleicht nochmal
PHP:
$smarty->template_dir = '/www/test/templates';
$smarty->compile_dir = '/www/test/templates_c';
 
Zuletzt bearbeitet:
smarty.class.php öffnen
da steht alöles drin was man wissen muss und ändern kann.

da kannst das dann mal einstellen dasses geht
 
Naja bin ich blöd!!
Habe eine Uralt Version 1.3 gezogen und das nicht komplett installiert, weil nicht alles dabei war.

Jetzt aber folgendes...das Problem hab ich bisher mit jeder Engine gehabt..ích dachte bei Smarty wäre das kein Problem.

Und zwar wie würdet Ihr das anstellen wenn ihr eine externe PHP Datei einbinden wollt.
Ich habe es so versucht aber es wird wie immer nichts angezeigt.

index.php:
PHP:
<?php

require 'smarty/libs/Smarty.class.php';

$smarty = new Smarty;

$smarty->compile_check = false;
$smarty->debugging = false;

$linke_box = implode('',file('inc/boxen/links.php'));
$smarty->assign("links", $linke_box);


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

?>

Wenn ich jetzt in der index.html {$links} aufrufe müsste doch eigentlich der Code der Datei 'inc/boxen/links.php' ausgeführt werden oder denke ich da falsch.

Es ist ein ganz einfaches <? echo 'hallo welt'; ?>

Wird aber nicht angezeigt.

Wenn ich jedoch nur 'hallo welt' eingebe ohne php funktionalität wirds angezeigt.

Wie würdet Ihr das Lösen.

Gruss und ein fettes Dankeschön.
 
du musst in der php datei die datei auswerten und den wert per $smarty->assign() anwenden die templates werden nur nach smarty code geparsed
 
Ja aber dann habe ich ja den mega Code in jeder Datei.
Zudem müsste ich...wenn ich die Box verändern möchte dann in jeder Datei das tun.

Irgendwie sitze ich auf dem Schlauch.

Gruss und Danke.
 
Zurück