Seite 1 von 1

Variable an Template übergeben - Klappt nicht

Verfasst: 27.03.2008 14:50
von Tears_of_Hate
Nachdem meine Frage nach einer Knigge-Funktion bisher nicht beantwortet wurde will ich nun selbst etwas realisieren.

Ich hab also in die posting.php nach "$current_time = time();" den folgenden Code eingefügt:

Code: Alles auswählen

$user_id = $user->data['user_id'];
$username = $user->data['username'];

$sql = 'SELECT  	user_posts
FROM ' . USERS_TABLE . '
WHERE ' . (($username) ? "username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'" : "user_id = $user_id");
$result = $db->sql_query($sql);
$member = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if($member['user_posts'] > 2500) {
	$show_rules = false;
}else{
	$show_rules = true;
}
$template->assign_var('SHOW_QUICK_RULES', $show_rules);
Jetzt würde ich gern im posting_layout.html Template auf die Variable zugreifen:

Code: Alles auswählen

<!-- IF SHOW_QUICK_RULES --><h1>Hallo Welt!</h1><!-- ENDIF -->
Das funktioniert aber nicht. Hab ich was falsch gemacht? Bin mit dem Code vom PHPBB3 nicht wirklich vertraut, ich will nur meinen Usern die Regeln an den Kopf knallen die sie sonst wohl nie lesen werden...

Danke schonmal

Verfasst: 27.03.2008 16:20
von nickvergessen

Code: Alles auswählen

$template->assign_vars(array(
	'SHOW_QUICK_RULES'	=> $show_rules,
));

Verfasst: 27.03.2008 16:26
von Tears_of_Hate
Danke, aber das klappt auch nicht.

Verfasst: 27.03.2008 16:35
von nickvergessen
Bei mir gehts... (cache geleert?)

Du könntest außerdem gleich

Code: Alles auswählen

if($user->data['user_posts'] > 2500) {
   $show_rules = false;
}else{
   $show_rules = true;
}
benutzen, das funktioniert auch

Verfasst: 27.03.2008 16:55
von Tears_of_Hate
Danke, so sieht der Code gleich viel ansehnlicher aus.

Woran das Problem jetzt lag weiß ich nicht, ich hab jetzt die Zuweisung nach

Code: Alles auswählen

'S_BBCODE_QUOTE'		=> $quote_status,
eingebaut und nun funktioniert er. Irgendwie haben die später folgenden Zuweisungen von Variablen die von mir erstellte Variable überschrieben...

Verfasst: 27.03.2008 17:06
von djchrisnet
Du könntest es auch noch einfacher machen:

Code: Alles auswählen

$template->assign_vars(array(
	'SHOW_QUICK_RULES'	=> ($user->data['user_posts'] > 2500) ? true : false,
));