$template->assign_vars();

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
misterx10
Mitglied
Beiträge: 70
Registriert: 06.09.2004 15:15
Wohnort: Großbeeren
Kontaktdaten:

$template->assign_vars();

Beitrag von misterx10 »

kann man das immer benutzen?? oder nur, wenn eine bestimmte funktion definiert ist?? bei mir kommt nämlich:
Parse error: parse error, unexpected ';' in /*****/includes/logbar.php on line 10

Code: Alles auswählen

$template->assign_vars(array(
	'GAME_TITLE' => $config['sitename'],
	'PAGE_TITLE' => $title,
);
zeile 10 ist ");"
Die Berlin-Brandenburg phpBB User Group
Wer kämpft kann verlieren,
wer nicht kämpft hat bereits verloren...
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

Statt

Code: Alles auswählen

   'PAGE_TITLE' => $title, 
);
So

Code: Alles auswählen

   'PAGE_TITLE' => $title) 
);
kann man das immer benutzen??
Wenn du die includes/functions.php und includes/template.php inkludierst, ja
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

was hat denn die functions.php damit zu tun???

Wenn man eine eigene Instanz der Template-Klasse definiert, braucht man auch net die functions.php zu includen.

Und auf allen phpBB Seiten wird durch die globalen Dateien diese sowieso includiert ;)

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
misterx10
Mitglied
Beiträge: 70
Registriert: 06.09.2004 15:15
Wohnort: Großbeeren
Kontaktdaten:

Beitrag von misterx10 »

ja, aber ich brauch das ja nicht für mein forum ;)

jetzt hab ich aber noch ein problem:

jetzt kommt:
Fatal error: Call to a member function on a non-object in /*****/includes/logbar.php on line 4
der Code ist der selbe wie oben, nur dass oben die erste zeile jetzt 4 ist...
Die Berlin-Brandenburg phpBB User Group
Wer kämpft kann verlieren,
wer nicht kämpft hat bereits verloren...
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

wird bei dir in deinem Script irgendwo

Code: Alles auswählen

$template = new template('PFAD/ZUM/TEMPLATEVERZEICHNIS');
definiert???

Wenn nein, ist dies dringends zu empfehlen ;)

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
misterx10
Mitglied
Beiträge: 70
Registriert: 06.09.2004 15:15
Wohnort: Großbeeren
Kontaktdaten:

Beitrag von misterx10 »

was heißt das ???
Template->loadfile(): No file specified for handle login_body
Die Berlin-Brandenburg phpBB User Group
Wer kämpft kann verlieren,
wer nicht kämpft hat bereits verloren...
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

misterx10 hat geschrieben:was heißt das ???
Template->loadfile(): No file specified for handle login_body
Na was könnte das wohl bedeuten?
Wenn diese Frage ernstgemeint ist, ist es wohl mehr als erbärmlich.......

Wenn man schon eine Template File einzuladen versucht, dann sollte man vielleicht auch auf die Idee kommen eine anzugeben oder?

Fragen gibts die gibts gar nicht
misterx10
Mitglied
Beiträge: 70
Registriert: 06.09.2004 15:15
Wohnort: Großbeeren
Kontaktdaten:

Beitrag von misterx10 »

dann ist es halt erbärmlich :cry: ich weiß aber nicht was das bedeutet... :(
oder ist daran was falsch??

Code: Alles auswählen

$template = new template($grp.'templates/standart');
Die Berlin-Brandenburg phpBB User Group
Wer kämpft kann verlieren,
wer nicht kämpft hat bereits verloren...
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

misterx10 hat geschrieben:dann ist es halt erbärmlich :cry: ich weiß aber nicht was das bedeutet... :(
oder ist daran was falsch??

Code: Alles auswählen

$template = new template($grp.'templates/standart');
Entweder hast du eine Fehlermeldung oder du hast keine...Und ob die Template Klasse sofort auf einen derartigen Aufruf reagiert kann ich nicht sagen da ich die Template Klasse noch nicht wirklich angeschaut habe....

Jedenfalls muss die Klasse mit new initialisiert werden und wird über $template->loadfile('template/blubb.tpl');

ob es diese Methode gibt kann ich nicht sagen siehe vorherige Aussage.....

P.S.: standart komm nicht von einer Standarte sondern von Standard
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

Also um mit der Templates Klasse einwandfrei zu arbeiten solltest du folgendes machen:

Laden der Klasse:

Code: Alles auswählen

include('./includes/template.php');
Instanz erzeugen:

Code: Alles auswählen

$template = new Template('./templates/subSilver');
Nun musst du jeder Seite die du Ausgeben willst (Parsen willst) wie folgt erstmal zuweisen:

Code: Alles auswählen

$template->set_filenames(array('body'=>'body.tpl')),
Danach kannste mit assign_vars() oder assign_block_vars() die Variablen zuordnen

Code: Alles auswählen

$template->assign_vars(array('HELLO' =>$hello));
oder

Code: Alles auswählen

$template->assign_block_vars('block',array('HELLO' =>$hello));
bei letzteres muss der Block in der HTML-Datei so ähnlich aussehen:

Code: Alles auswählen

<!-- BEGIN block -->
{block.HELLO}
<!-- END block -->
und zum Schluss noch die Seite parsen:

Code: Alles auswählen

$template->pparse('body');
Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Antworten

Zurück zu „Coding & Technik“