frage zu include (unterseiten) & Smarty

Nerolein

Mitglied
Hallo,
ich wollte in meiner Website alle unterseinen mit <? include("$ref.php"); ?> auf der main .php
einbinden.
Ich habe
in der main.php:

Code:
$smarty->assign('main', '<?php include("$ref.php"); ?>');

und in der main.tpl:

Code:
<td rowspan="7" background="Bilder/gs-leih_11.gif" width="553" height="762" alt="">
{$main}
</td>

Warum zeigt er da ne weiße Seite an?
Danke im Vorraus
 
PHP Code wird in Smarty Templates nicht ausgeführt, es sei denn, sie sind {php}{/php} Tags.

Schöner wäre allerdings bei dir diese Möglichkeit:

PHP:
<td rowspan="7" background="Bilder/gs-leih_11.gif" width="553" height="762" alt="">
{include file="$main"}
</td>

Und dementsprechend:

PHP:
$smarty->assign('main', $ref.'.php');

Solltest du jedoch eine PHP Datei einbinden wollen, also eine die ausgeführt werden soll, so gibt es auch noch include_php

include
include_php
 
Hallo,
danke fuer deine hilfe.
Aber wenn ich das so mach, sagt er:


Warning: Smarty error: unable to read resource: "news.php" in /usr/export/www/.../Smarty/Smarty.class.php on line 1095

Die news.php ist hochgeladen und liegt da die main.php liegt.
die news.tpl ist auch oben und liegt im ordner templates.
Woran liegt das nun?
 
Und wie kann ich dieses problem loesen ohne template_dir neu setzten zu muessen?
Sonst findet er die main.tpl wieder nicht usw.
Mit file: gehts leider nicht scheint wohl nur in display zu gehen.
 
Du musst einfach nur den absoluten Pfad verwenden bei file.

Bei mir würde das so ähnlich aussehen:
PHP:
{include file='/var/www/web001/htdocs/news.php'}

Aber ich verstehe nicht, warum du das ganze nicht in PHP löst, sondern es in die Template File zwingst, wo ja eigentlich kein PHP Code drinstehen sollte.
 
Wenn ich das so mache kommt:

Code:
Fatal error: Smarty error: [in /usr/export/www/.../news.php line 20]: syntax error: unrecognized tag: $news[] = $row; (Smarty_Compiler.class.php, line 446) in /usr/export/www/.../Smarty/Smarty.class.php on line 1095

Warum kommt dieser fehler nun?
Wenn ich so die news.php aufrufe, geht sie ohne Probleme
 
nur mit include

bei include_php kommt:

Code:
Fatal error: Cannot redeclare class smarty in /usr/export/www/.../Smarty/Smarty.class.php on line 65
 
Zurück