Variablen werden nicht übergeben

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.
Furion
Mitglied
Beiträge: 17
Registriert: 19.08.2004 19:13

Beitrag von Furion »

DSB hat geschrieben:Ich denke, dass UID eher für unified IDentifier steht, aber egal.
Dann lass mal sehen, was bei Dir in Zeile 46 steht.
Bei mir ist das eine Kommentarzeile (habe aber auch Minerva :-) )
Danke, ... also diese funktion isses erstmal:

Code: Alles auswählen

function load_bbcode_template()
{
	global $template;
	$tpl_filename = $template->make_filename('bbcode.tpl')
	$tpl = fread(fopen($tpl_filename, 'r'), filesize($tpl_filename));

	// replace \ with \\ and then ' with \'.
	$tpl = str_replace('\\', '\\\\', $tpl);
	$tpl  = str_replace('\'', '\\\'', $tpl);

	// strip newlines.
	$tpl  = str_replace("\n", '', $tpl);

	// Turn template blocks into PHP assignment statements for the values of $bbcode_tpls..
	$tpl = preg_replace('#<!-- BEGIN (.*?) -->(.*?)<!-- END (.*?) -->#', "\n" . '$bbcode_tpls[\'\\1\'] = \'\\2\';', $tpl);

	$bbcode_tpls = array();

	eval($tpl);

	return $bbcode_tpls;
}
Zeile 46 ist: $tpl_filename = $template->make_filename('bbcode.tpl')
Benutzeravatar
DSB
Mitglied
Beiträge: 172
Registriert: 21.08.2004 12:31
Wohnort: bei Bremen
Kontaktdaten:

Beitrag von DSB »

Das bedeutet, dass die Funktion "make_filename" speziell für Objekte einer bestimmten Klasse ("template") bestimmt ist und die Variable "$tpl_filename" wahrscheinlich nicht als Objekt dieser Klasse instanziert ist.
Furion
Mitglied
Beiträge: 17
Registriert: 19.08.2004 19:13

Beitrag von Furion »

DSB hat geschrieben:Das bedeutet, dass die Funktion "make_filename" speziell für Objekte einer bestimmten Klasse ("template") bestimmt ist und die Variable "$tpl_filename" wahrscheinlich nicht als Objekt dieser Klasse instanziert ist.
Aso, muss mal guggen wo die inizialisiert wird, thx. :)
Benutzeravatar
DSB
Mitglied
Beiträge: 172
Registriert: 21.08.2004 12:31
Wohnort: bei Bremen
Kontaktdaten:

Beitrag von DSB »

Na dann scheine ich mich ja geirrt zu haben und Du kommst doch schon besser mit PHP zurecht, als ich gedacht habe und nehme zurück, was ich weiter oben gesagt habe. :oops:
Nichts für ungut aber ich dachte, dass endet hier jetzt in einem endlosen Frage- und Antwortspiel. :)
Furion
Mitglied
Beiträge: 17
Registriert: 19.08.2004 19:13

Beitrag von Furion »

DSB hat geschrieben:Na dann scheine ich mich ja geirrt zu haben und Du kommst doch schon besser mit PHP zurecht, als ich gedacht habe und nehme zurück, was ich weiter oben gesagt habe. :oops:
Nichts für ungut aber ich dachte, dass endet hier jetzt in einem endlosen Frage- und Antwortspiel. :)
nP - deswegen schrieb ich ja weiter oben das mit dem "hoffe ich nerve nicht :blush:" - Ich kam mir schon selber bekloppt vor. *g
Benutzeravatar
DSB
Mitglied
Beiträge: 172
Registriert: 21.08.2004 12:31
Wohnort: bei Bremen
Kontaktdaten:

Beitrag von DSB »

Und ich muss mir nochmal an die eigene Nase packen:
UID steht nicht für "Unified IDentifier", sondern für "Unique IDentifier" = eindeutiger Identifizierer .

Jaja, es gibt so Tage, da macht man alles falsch. :D
Ich hoffe auf morgen. :-)

Dir wünsche ich jedenfalls viel Glück bei Deiner Änderung. *daumendrück*
Furion
Mitglied
Beiträge: 17
Registriert: 19.08.2004 19:13

Beitrag von Furion »

DSB hat geschrieben:Und ich muss mir nochmal an die eigene Nase packen:
UID steht nicht für "Unified IDentifier", sondern für "Unique IDentifier" = eindeutiger Identifizierer .

Jaja, es gibt so Tage, da macht man alles falsch. :D
Ich hoffe auf morgen. :-)

Dir wünsche ich jedenfalls viel Glück bei Deiner Änderung. *daumendrück*
Jup danke ;) - bastle derzit an nem kleinen News-hack der übers Forum läuft. Is ne gute Übung ^_^.
Furion
Mitglied
Beiträge: 17
Registriert: 19.08.2004 19:13

Beitrag von Furion »

Hoi,

es hilft nix ich muss nochmal nachhacken. ;)

$tpl_filename = $template->make_filename('bbcode.tpl');


Kann es sein das ich $template irgendwie werte zuweisen muss? Ich mein es ist ja ein Array was z.b. in der viewtopic.php mit werten gefüttert wird ... was ich allerdings dann nicht nachvollziehen kann - wenn dem so ist wie ich vermute - warum brauch ich das wenn ich bbcode verarbeitet haben möchte (in $template hab ich bis jetzt immer nur platzhalter mit ihren zugewiesenen Werten gesehen - aber ein zusammenhang mit bbcode is mir nicht aufgefallen) - der ist doch in prepare_bbcode_template() hinterlegt, und wird aber erst nach dem erstellen von der bbcode.tpl eingelesen. Den text übergeb ich ihm ja mit der bbcode_uid - ich verstehs echt nicht. ~ warum erzeugt er eigentlich diese 'blöde' tpl-datei? ~

Kennt vielleicht jemand einen Link wo das erklärt wird - ich mach mich langsam verrückt und beweg mich nur vor und zurück. :( Das ganze "konfusioniert" mich nur mehr und mehr je weiter ich drüber nachdenke geschweige nach nem Anhaltspunkt in den zahlreichen Segmenten suche. ;(

Gruß
Furion
Furion
Mitglied
Beiträge: 17
Registriert: 19.08.2004 19:13

Danksagung ... :roll:

Beitrag von Furion »

So, ich habs gefunden in dem File-Salat.

Hätt man mir ja auch gleich sagen könne, wo das steht. :roll: Ich hab mich totgesucht nach dieser dämlichen Klasse. ^_^;

Für alle anderen die vielleicht das auch mal brauchen werden:

Ihr müst ein neues template-Object erstellen, das geht so:

Code: Alles auswählen

$template = new template(PfadzumTemplateverzeichnis);
Im Templateverzeichnis muss sich eine bbcode.tlp befinden.

Im ganzen schaut das dann etwa so aus:

Code: Alles auswählen

<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = "PfadzumForum"; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);

$template = new template(PfadzumTemplateverzeichnis);
// parse bbcode
$text = bbencode_second_pass($text, $bbcode_uid);        
Die bbcode_uid kriegt ihr aus dem phpbb_posts_text-Table (Standard).

So denn bis zur nächsten Frage. ;)
Antworten

Zurück zu „Coding & Technik“