Seite 1 von 1

2 verschiedene Template Engines ineinander schachteln

Verfasst: 23.09.2006 13:22
von Emanuelle_1982
Hallo,

ich habe die Gallery von Menalto in phpBB eingebunden [siehe auch Vorlage für eine Seite in phpBB]. Klappt auch wunderbar.

Ein Problem habe ich aber leider dennoch - ich kann keine Sprachvariablen an die Gallery geben.
Der Grund hierfür ist das Smarty ebenfalls die geschweiften Klammern '{' und '}' nutzt um die zu ersetzenden Stellen zu finden.

Das einsetzen von {L_FORUM} bringt infolgedessen bei Smarty Templates eine Fehlermeldung...
wenn ich die escapt'en Klammern [ '{ldelim}' & '{rdelim}' ] benutze, dann werden sie leider auch nicht in der phpBB engine ersetzt (Ausgabe in HTML lautet dann {L_FORUM} und nicht Forum wie erwünscht.

Der Code der Übergabe sieht etwa so aus

Code: Alles auswählen

$template->assignvars(array(
     'GALLERY_BODY' => $gallery_html_output,
));
weiss da vielleicht jemand Rat?

Verfasst: 23.09.2006 14:01
von Miriam
Also klappt das Einbinden doch nicht? :o

Code: Alles auswählen

$template->assignvars(array(
     'GALLERY_BODY' => $gallery_html_output,
));
<=== Stellt aber keine Codezuweisung für eine Sprachvariable dar.

Wie stellst Du es Dir konkret vor? :lol:

Verfasst: 27.09.2006 14:12
von Emanuelle_1982
sorry... irgendwie habe ich keine Mail bekommen das jemand geantwortet hatte O.O ... klappt sonst immer...

uff...

also...
die Gallery benutzt smarty und erstellt einen riesigen String mit echo & co, der zum schluss mit eval ausgeführt wird...

bei meiner Lösung wird das noch nicht ausgeführt, sondern mit der Variable $gallery_html_output übergeben... (was am ende eben den eval doch ausführt, genauso wie für den gesamten Rest)

das Problem das ich habe ist das der String in $gallery_html_output scheinbar nach dem ersetzen von den Sprachvariablen ausgeführt wird...
wenn ich smarty sage er soll { und } generieren greift phpBB das nicht mehr auf, nutze ich { und } direkt im smarty template, dann versucht smarty das zu ersetzen - und scheitert, da er eine Variable oder eine Klasse mit Methodenaufruf erwartet (oder Bedingung, oder schleife, oder oder oder.... aber eben keine Sprachvariable aus phpBB ...)

Verfasst: 27.09.2006 20:12
von Miriam
das Problem das ich habe ist das der String in $gallery_html_output scheinbar nach dem ersetzen von den Sprachvariablen ausgeführt wird...
Wenn sie doch nur schon eingesetzt worden wären, würden wir uns hier nicht zu posten....

Hm... hast Du mal probiert die von smarty generierten {}, die sicherlich HTML codiert sind, vor der Ausgabe per str_replace() zu ersetzen?

Also gegen echte {}. 8)

Verfasst: 27.09.2006 20:30
von Emanuelle_1982
Aua.... ok... manchmal... ist man blöd

ich habe es zwar nicht probiert, aber wenn es da noch nicht hilft, dann kann man sich einfach mal genau schauen was da drin steht....