Variable an Template übergeben - Klappt nicht

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Tears_of_Hate
Mitglied
Beiträge: 44
Registriert: 02.02.2008 05:40
Kontaktdaten:

Variable an Template übergeben - Klappt nicht

Beitrag 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
Projekte:
Digital Trophy: theHunter Fan-Blog mit Forum
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag von nickvergessen »

Code: Alles auswählen

$template->assign_vars(array(
	'SHOW_QUICK_RULES'	=> $show_rules,
));
kein Support per PN
Tears_of_Hate
Mitglied
Beiträge: 44
Registriert: 02.02.2008 05:40
Kontaktdaten:

Beitrag von Tears_of_Hate »

Danke, aber das klappt auch nicht.
Projekte:
Digital Trophy: theHunter Fan-Blog mit Forum
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Beitrag 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
kein Support per PN
Tears_of_Hate
Mitglied
Beiträge: 44
Registriert: 02.02.2008 05:40
Kontaktdaten:

Beitrag 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...
Projekte:
Digital Trophy: theHunter Fan-Blog mit Forum
Benutzeravatar
djchrisnet
Mitglied
Beiträge: 1275
Registriert: 29.06.2007 15:52
Wohnort: Elmshorn
Kontaktdaten:

Beitrag 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,
));
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“