-
Hallo,
ich wollte in meiner Website alle unterseinen mit <? include("$ref.php"); ?> auf der main .php
einbinden.
Ich habe
in der main.php:
Code :1
$smarty->assign('main', '<?php include("$ref.php"); ?>');
und in der main.tpl:
Code :1 2 3
<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:
Und dementsprechend:PHP-Code:<td rowspan="7" background="Bilder/gs-leih_11.gif" width="553" height="762" alt="">
{include file="$main"}
</td>
Solltest du jedoch eine PHP Datei einbinden wollen, also eine die ausgeführt werden soll, so gibt es auch noch include_phpPHP-Code:$smarty->assign('main', $ref.'.php');
include
include_phpKIDS Kinderbetreuungsdienst
Xing
They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
-
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?
-
Include ist eigentlich dafür gedacht, andere Templates einzubinden und versucht deshalb die Datei automatisch im template_dir Ordner zu finden.Use the syntax for template resources to {include} files outside of the $template_dir directory.
Auf der Manual Seite führt der Link dann hierhin:
http://smarty.php.net/manual/en/template.resources.phpKIDS Kinderbetreuungsdienst
Xing
They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
-
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:
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.PHP-Code:{include file='/var/www/web001/htdocs/news.php'}
KIDS Kinderbetreuungsdienst
Xing
They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
-
Wenn ich das so mache kommt:
Code :1
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
-
Hast du sie mit include_php eingebunden?
KIDS Kinderbetreuungsdienst
Xing
They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
-
nur mit include
bei include_php kommt:
Code :1
Fatal error: Cannot redeclare class smarty in /usr/export/www/.../Smarty/Smarty.class.php on line 65
-
In der news.php darf die Smarty Klasse nicht noch einmal instanziiert werden.
KIDS Kinderbetreuungsdienst
Xing
They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
-
Wenn ich es so mache, kommt eine leere Seite.PHP-Code:
<?php
include("inc/config.php");
$smarty = new Smarty;
$conection = mysql_connect($host,$usr,$pw);
mysql_select_db($db);
$query = "SELECT text, title, links FROM gsl_news ORDER BY date DESC";
$newsqry = mysql_query($query) OR die (mysql_error());
$news = array();
while($row = mysql_fetch_assoc($newsqry))
{
$news[] = $row;
}
$smarty->assign('newsbeitraege', $news);
-
So. Wie gesagt, die Klasse darf nicht noch einmal instanziiert werden.PHP-Code:
$conection = mysql_connect($host,$usr,$pw);
mysql_select_db($db);
$query = "SELECT text, title, links FROM gsl_news ORDER BY date DESC";
$newsqry = mysql_query($query) OR die (mysql_error());
$news = array();
while($row = mysql_fetch_assoc($newsqry))
{
$news[] = $row;
}
$smarty->assign('newsbeitraege', $news);
Allerdings lädst du hier gar kein Template und ich weiß nicht ob es so funktioniert.
Weiterhin würde ich dir raten, die news.php in deiner main.php zu includen und nicht im Template selbst.KIDS Kinderbetreuungsdienst
Xing
They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
-
So hatte ich es schon einmal.
Code :1 2
Fatal error: Call to a member function on a non-object in /usr/export/www/vhosts/funnetwork/hosting/napo/gs-leih/news.php on line 19
Wenn ich die news in der main.php mache, wie soll ich dann die andern Seiten ambesten einbinden?
-
Poste bitte mal deine main.php, news.php, news.tpl und main.tpl.
Am liebsten gezippt.
Dann schaue ich mir das mal an.KIDS Kinderbetreuungsdienst
Xing
They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
Benjamin Franklin
-
Hier sind die 4 Files:
Geändert von Nerolein (05.05.07 um 23:29 Uhr)
![]() |
PHP 5 / MySQL 5 Seminar (22 Stunden Video-Training) Preis: früher: 39,95€ - jetzt nur: 7,99€ PHP 5 / MySQL 5 Lernkurs – 22 Stunden Video-Training auf DVD Hier geht es zum Angebot Über 1.000 weitere IT-Bücher zum Sonderpreis lieferbar! |
Ähnliche Themen
-
Frage zu Smarty, wer kennt sich aus?
Von xtratz im Forum PHPAntworten: 9Letzter Beitrag: 11.07.07, 12:55 -
Include mit Smarty
Von xtratz im Forum PHPAntworten: 2Letzter Beitrag: 28.06.06, 17:56 -
Frage zu PHP-Include
Von StupidBoy im Forum PHPAntworten: 5Letzter Beitrag: 26.01.06, 18:48 -
Frage zu include()
Von firstlord18 im Forum PHPAntworten: 6Letzter Beitrag: 11.12.05, 19:37 -
Frage zu smarty
Von Katzenbauer im Forum PHPAntworten: 3Letzter Beitrag: 14.03.05, 21:34



Zitieren

Login





Lesezeichen