Portal > Foren > PHP > PEAR, PECL und Frameworks > Kleines Prob mit phpBB Template System
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 19.10.2005, 10:45 Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard Kleines Prob mit phpBB Template System

Hi Leute

Ich habe mir mal das phpBB Template system genommen, es hat einfach alle swas ich benötige. Nun habe ich folgendes Prob:

Ich habe meine Datei die cal.php und die beiden .tpl Dateien cal.tpl und cal_error.tpl. Ich habe folgedes in der cal.php:

PHP-Code:
include ("template.php");
$template = new Template;
$template->set_filenames(array(
                         
'cal'=> 'cal.tpl',
                         
'cal_error' => 'cal_error.tpl'));

$sql "SELECT * FROM cevi_cal ORDER BY time ASC";
$query mysql_query($sql) or $mysql_error mysql_error();

while (
$row mysql_fetch_assoc($query))
{
  
$sql2 "SELECT name FROM cevi_users WHERE id=".$row['writer_id'];
  
$query2 mysql_query($sql2);
  
$row2 mysql_fetch_assoc($query2);
  
$datum date("d.m.Y",$row['time']);
  
$uhrzeit date("H:i",$row['time']);
  
$write_datum date("d.m."$row['write_time']);
  
$write_uhrzeit date("H:i:s"$row['write_time']);
  
$write_spruch "Geschrieben von ".$row2['name']." am ".$write_datum." um ".$write_uhrzeit."."
  
$template-> assign_block_vars('cal', array(
                                         
'date' => $datum,
                                         
'time' => $uhrzeit,
                                         
'titel' => $row["titel"],
                                         
'text' => $row["text"],
                                         
'write_info' => $write_spruch));
}
if (
$query != FALSE)
{
  
$template->pparse('cal');
}
else
{
  
$template->assign_vars(array(
                           
'error' => 'MySQL - ERROR',
                           
'mysql_error' => $mysql_error,
                           
'line' => 'Line: '.__LINE__,
                           
'file' => 'File: '.__FILE__,
                           
'debug_please' => 'Was du hier siehst, ist die Debug-Information. Bitte kopiere den gesamten Text (auch diesen Satz) in eine Mail und sende sie an <a href=\"mailto:admin@garnelenforum.ch\">admin@garnelenforum.ch</a>. Merci.'));
  
$template->pparse('cal_error');

Nun rufe ich die ganze Sache auf und erhalte leider einen Error:

Code:
Parse error: parse error, unexpected '}' in /home/virtual/site195/fst/var/www/test.garnelenforum.ch/Cevi/template.php(132) : eval()'d code on line 17
Die Zeilen 117 - 134 der template.php:

PHP-Code:
function pparse($handle)
    {
        if (!
$this->loadfile($handle))
        {
            die(
"Template->pparse(:( Couldn't load template file for handle $handle");
        }

        
// actually compile the template now.
        
if (!isset($this->compiled_code[$handle]) || empty($this->compiled_code[$handle]))
        {
            
// Actually compile the code now.
            
$this->compiled_code[$handle] = $this->compile($this->uncompiled_code[$handle]);
        }

        
// Run the compiled code.
        
eval($this->compiled_code[$handle]);
        return 
true;
    } 
Ich stehe ehrlich gesagt vor einem Rätsel, ich weiss echt nicht wo mein Fehler liegt (bzw. der Fehler im Template system). Ich habe die template.php komplett vom phpBB übernommen, also nichts editirt oder so.


Wer weiss was hier falsch ist und kann mir helfen?

Danke im voraus, Garnele
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch
Garnele ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.10.2005, 11:20 Nach oben    #2
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.203
Standard

lass dir doch mal
$this->compiled_code[$handle] ausgeben vor dem eval ausgeben und schau dir da zeile 17 an, vieleicht ein syntaxfehler im template selbst ?


mfg
robo47
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.10.2005, 11:21 Nach oben    #3
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 685
Standard

Ich vermute aufgrund der Fehlermeldung einen Fehler im Template selbst, denn er hat ein Problem bei der Ausführung von eval (), welches das generierte (bzw. compilierte) Template ablaufen lassen soll.

Mir sind noch 2 Sachen aufgefallen:

a) Warum nutzt du keinen Join, um den Namen in der SQL-Abfrage einzubauen? Würde dir einen Query pro Seitenaufruf sparen!
b) Warum nutzt du Denglisch? $write_spruch -> Was zur Hölle? Entweder ganz englisch oder ganz deutsch bitte, alles andere ist mehr oder minder ... bekloppt... im sinne von ... bekloppt...
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.10.2005, 14:08 Nach oben    #4
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Schau mal, ob du die Blöcke im Template richtig mit
Code:
<!-- BEGIN: blockname -->
[...]
<!-- END: blockname -->
gebaut hast. Das dürfte es wahrscheinlich sein, da die phpBB-Template-Engine die Blöcke nicht auf korrekten Start und korrektes Ende überprüft.


// Edit:
@MrNiceGuy:
Ein JOIN wäre nichtmal nötig, einfach ein SELECT über zwei Tabellen.
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.10.2005, 15:30 Nach oben    #5
Erfahrener Benutzer
 
Benutzerbild von Garnele
 
Registriert seit: 16.09.2005
Ort: CH :-)
Beiträge: 123
Standard

Hi Lars

Du hattest recht es lag an meinen Blöcken (Begin mit 2n und ohne e -) das hat das ganze Problem beiseitigt.

@MrNiceGuy: Das nennt sich die heutige Jugend, mir kam gerade nichts besseres in den Sinn
@Lars: Wie schriebe ich denn das, in Select über zwei Tabellen?

Merci für die Hilfe, Garnele
__________________
Mein Forum zu Thema Garnelen und Wirbellose: http://www.garnelenforum.ch
Garnele ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.10.2005, 15:38 Nach oben    #6
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Code:
SELECT n.*, u.username
FROM tbl_news AS n, tbl_users AS u
WHERE u.userid = n.userid
ORDER BY n.newstime DESC
In etwa so.
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.10.2005, 00:31 Nach oben    #7
Goldman.de
 
Benutzerbild von J33d3X
 
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
Standard

man könnte auch nach JOIN schauen ( INNER, OUTER, LEFT )
http://dev.mysql.com/doc/refman/4.0/de/join.html
J33d3X ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen

« - | rar_open »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
indireckte Frage zu Template system kampfgnom PHP-Programmierung 4 04.06.2007 04:12
Problem mit template system kampfgnom PHP-Programmierung 2 21.04.2007 17:37
Javascript Template System Bleistift JavaScript und AJAX 8 22.03.2007 23:21
eigenes Template System mit Sprachunterstützung jjelliss PHP-Programmierung 61 15.09.2006 10:00


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45