tutorials.de-Buchverschenkaktion 08/2010
+ Auf Thema antworten
Seite 1 von 2 1 2 Letzte
  1. #1
    Nerolein Nerolein ist offline Mitglied Bronze Nerolein hat eine blütenweiße Weste
    Registriert seit
    Sep 2004
    Beiträge
    38
    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

  2. PHP 5 / MySQL 5 Seminar (22 Stunden Video-Training)

    Preis: früher: 39,95€ - jetzt nur: 7,99€
    Innerhalb Deutschlands versandkostenfrei!

    PHP 5 / MySQL 5 Lernkurs – 22 Stunden Video-Training auf DVD
    - PHP-, MySQL- und PHPMyAdmin-Grundlagen
    - Datenbankprogrammierung, objektorientierte Programmierung
    - Geeignet für Windows XP und Windows Vista


    Hier geht es zum Angebot

    Über 1.000 weitere IT-Bücher zum Sonderpreis lieferbar!


  3. #2
    Benutzerbild von Felix Jacobi
    Felix Jacobi Felix Jacobi ist offline do ut des Felix Jacobi hat die Renommee-Anzeige deaktiviert
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    4.965
    Blog-Einträge
    65
    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-Code:
    <td rowspan="7" background="Bilder/gs-leih_11.gif" width="553" height="762" alt="">
    {include 
    file="$main"}
    </
    td
    Und dementsprechend:

    PHP-Code:
    $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
    KIDS Kinderbetreuungsdienst
    Xing

    They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
    Benjamin Franklin

  4. #3
    Nerolein Nerolein ist offline Mitglied Bronze Nerolein hat eine blütenweiße Weste
    Registriert seit
    Sep 2004
    Beiträge
    38
    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?

  5. #4
    Benutzerbild von Felix Jacobi
    Felix Jacobi Felix Jacobi ist offline do ut des Felix Jacobi hat die Renommee-Anzeige deaktiviert
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    4.965
    Blog-Einträge
    65
    Use the syntax for template resources to {include} files outside of the $template_dir directory.
    Include ist eigentlich dafür gedacht, andere Templates einzubinden und versucht deshalb die Datei automatisch im template_dir Ordner zu finden.

    Auf der Manual Seite führt der Link dann hierhin:
    http://smarty.php.net/manual/en/template.resources.php
    KIDS Kinderbetreuungsdienst
    Xing

    They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
    Benjamin Franklin

  6. #5
    Nerolein Nerolein ist offline Mitglied Bronze Nerolein hat eine blütenweiße Weste
    Registriert seit
    Sep 2004
    Beiträge
    38
    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.

  7. #6
    Benutzerbild von Felix Jacobi
    Felix Jacobi Felix Jacobi ist offline do ut des Felix Jacobi hat die Renommee-Anzeige deaktiviert
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    4.965
    Blog-Einträge
    65
    Du musst einfach nur den absoluten Pfad verwenden bei file.

    Bei mir würde das so ähnlich aussehen:
    PHP-Code:
    {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.
    KIDS Kinderbetreuungsdienst
    Xing

    They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.
    Benjamin Franklin

  8. #7
    Nerolein Nerolein ist offline Mitglied Bronze Nerolein hat eine blütenweiße Weste
    Registriert seit
    Sep 2004
    Beiträge
    38
    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

  9. #8
    Benutzerbild von Felix Jacobi
    Felix Jacobi Felix Jacobi ist offline do ut des Felix Jacobi hat die Renommee-Anzeige deaktiviert
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    4.965
    Blog-Einträge
    65
    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

  10. #9
    Nerolein Nerolein ist offline Mitglied Bronze Nerolein hat eine blütenweiße Weste
    Registriert seit
    Sep 2004
    Beiträge
    38
    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

  11. #10
    Benutzerbild von Felix Jacobi
    Felix Jacobi Felix Jacobi ist offline do ut des Felix Jacobi hat die Renommee-Anzeige deaktiviert
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    4.965
    Blog-Einträge
    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

  12. #11
    Nerolein Nerolein ist offline Mitglied Bronze Nerolein hat eine blütenweiße Weste
    Registriert seit
    Sep 2004
    Beiträge
    38
    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);
    Wenn ich es so mache, kommt eine leere Seite.

  13. #12
    Benutzerbild von Felix Jacobi
    Felix Jacobi Felix Jacobi ist offline do ut des Felix Jacobi hat die Renommee-Anzeige deaktiviert
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    4.965
    Blog-Einträge
    65
    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); 
    So. Wie gesagt, die Klasse darf nicht noch einmal instanziiert werden.
    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

  14. #13
    Nerolein Nerolein ist offline Mitglied Bronze Nerolein hat eine blütenweiße Weste
    Registriert seit
    Sep 2004
    Beiträge
    38
    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?

  15. #14
    Benutzerbild von Felix Jacobi
    Felix Jacobi Felix Jacobi ist offline do ut des Felix Jacobi hat die Renommee-Anzeige deaktiviert
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    4.965
    Blog-Einträge
    65
    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

  16. #15
    Nerolein Nerolein ist offline Mitglied Bronze Nerolein hat eine blütenweiße Weste
    Registriert seit
    Sep 2004
    Beiträge
    38
    Hier sind die 4 Files:
    Geändert von Nerolein (05.05.07 um 23:29 Uhr)

Ähnliche Themen

  1. Frage zu Smarty, wer kennt sich aus?
    Von xtratz im Forum PHP
    Antworten: 9
    Letzter Beitrag: 11.07.07, 12:55
  2. Include mit Smarty
    Von xtratz im Forum PHP
    Antworten: 2
    Letzter Beitrag: 28.06.06, 17:56
  3. Frage zu PHP-Include
    Von StupidBoy im Forum PHP
    Antworten: 5
    Letzter Beitrag: 26.01.06, 18:48
  4. Frage zu include()
    Von firstlord18 im Forum PHP
    Antworten: 6
    Letzter Beitrag: 11.12.05, 19:37
  5. Frage zu smarty
    Von Katzenbauer im Forum PHP
    Antworten: 3
    Letzter Beitrag: 14.03.05, 21:34

Lesezeichen

Lesezeichen