[erledigt]template system

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
Benutzeravatar
Ambience
Mitglied
Beiträge: 628
Registriert: 02.09.2006 11:28
Wohnort: daheim
Kontaktdaten:

[erledigt]template system

Beitrag von Ambience »

Hallo, ich schreibe mal wieder an meinem Templatesystem weiter..

Nun wollte ich so eine funktion einbauen das templates als variable zugewiesen werden können, also sowas:

Code: Alles auswählen

$template->assign_var_from_handle('VARIABLE', 'header');
header ist dabei der handle für overall_header.html bei mir

und im tpl soll man sowas benutzen können:

Code: Alles auswählen

{VARIABLE}
nur leider funktioniert meine funktion nicht so richtig, und ich weiß nicht was da genau falsch läuft.

nun aufrufen tu ich das ganze so:

Code: Alles auswählen

<?php

include('includes/template.php');
$template = new Template('simpleGreen');

$template->set_filenames(array('ov' => 'overall_header.html', 'po' => 'select_color.html'));

$template->assign_var_from_handle('SITE', 'po');

$template->display('ov');
?>
die template.php also meine template class hab ich mal auf ftp geladen da diese sonst zu groß wäre.

Template class

es wird nix zugewiesen, also {SITE} bleibt in diesem fall leer und wird einfach durch das template system mit '' ersetzt.

Wenn sich jemand meine Klasse mal angucken könnte, wäre ich sehr dankbar.
Zuletzt geändert von Ambience am 03.12.2006 14:43, insgesamt 1-mal geändert.
Benutzeravatar
Ambience
Mitglied
Beiträge: 628
Registriert: 02.09.2006 11:28
Wohnort: daheim
Kontaktdaten:

Beitrag von Ambience »

es ist dringend. bitte :D
Benutzeravatar
Jan500
Ehemaliges Teammitglied
Beiträge: 4199
Registriert: 01.03.2003 21:32
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Jan500 »

Bumpen ist erst nach 24h erlaubt!
KB:knigge
"Life begins at 40 Knots...!" :D
kein (kostenlosen) Support per pn, mail, icq usw. | Kostenlosen Support gibt es hier im Forum!
Benutzeravatar
Ambience
Mitglied
Beiträge: 628
Registriert: 02.09.2006 11:28
Wohnort: daheim
Kontaktdaten:

Beitrag von Ambience »

oh sorry.. ist aber wirklich dringend. *seh das jetzt nicht als bump sondern als antwort*
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

Du musst einfach nur suchen, wo der Fehler liegt:
zuerst

Code: Alles auswählen

$template->display('po');
, da das funktioniert in der Methode assign_var_from_handle:

Code: Alles auswählen

     echo $_str;
     $this->assign($varname, $_str);
, da $_str leer ist,

Code: Alles auswählen

     echo $code;
     $this->_eval($code);
der Code ist in ordnung; also muss der Fehler beim $this->_eval($code) liegen:
nimm stattdessen einfach

Code: Alles auswählen

     eval($code);
Damit gehts (jedenfalls bei mir)

Warum hast du überhaupt die Methode _eval() erstellt?
Benutzeravatar
Ambience
Mitglied
Beiträge: 628
Registriert: 02.09.2006 11:28
Wohnort: daheim
Kontaktdaten:

Beitrag von Ambience »

hab ich mir vom smarty template system abgeguckt.

Kann es sein das es an dem return eval($code); liegt? muss das return evtl. weg?

edit: hmm ne, geht dann auch nciht, wenn das return weg ist. Auf jedenfall funktioniert es, und ich hab die _eval function weggelassen. Vielen Dank.
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag von BB-BF-BM »

es liegt daran, dass die Variable $_str nur in der Methode $template->_eval verfügbar ist. Sie wird nicht wieder an die ursprüngliche Methode ($template->assign_var_from_handle) übergeben.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Und wie sieht nun das fertige Class-Script aus? Das würde mich interessieren. :)
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „Coding & Technik“