Rang auslesen und templategerecht verarbeiten

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 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Rang auslesen und templategerecht verarbeiten

Beitrag von kratzer54847 »

Hallo,

ich versuche gerade den Rang eines Users auszulesen und per Templatevariable anzeigen zu lassen. Es will aber noch nicht.

Das ist der aktuelle Abfragecode des Ranges:

Code: Alles auswählen

// Show Rank
$profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);

$sql = "SELECT *
	FROM " . RANKS_TABLE . "
	ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain ranks information', '', __LINE__, __FILE__, $sql);
}

while ( $row = $db->sql_fetchrow($result) )
{
	$ranksrow[] = $row;
}
$db->sql_freeresult($result);

$poster_rank = '';
$rank_image = '';
if ( $profiledata['user_rank'] )
{
	for($i = 0; $i < count($ranksrow); $i++)
	{
		if ( $profiledata['user_rank'] == $ranksrow[$i]['rank_id'] && $ranksrow[$i]['rank_special'] )
		{
			$poster_rank = $ranksrow[$i]['rank_title'];
			$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
		}
	}
}
else
{
	for($i = 0; $i < count($ranksrow); $i++)
	{
		if ( $profiledata['user_posts'] >= $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] )
		{
			$poster_rank = $ranksrow[$i]['rank_title'];
			$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
		}
	}
}
dann folgend die Umbenennung:

Code: Alles auswählen

$portalrank = $ranksrow['rank_title'];
und die Templatevariable:

Code: Alles auswählen

'PORTAL_RANK' => $portalrank
sowie in der tpl-Datei

Code: Alles auswählen

Rank: {PORTAL_RANK}
der jeweilige Userrang wird aber nicht angezeigt...was mache ich falsch?
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Beitrag von D@ve »

Du hast den Rang doch bereits unter {postrow.POSTER_RANK} ????

Gruß, Dave
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

mit folgendem Code

Code: Alles auswählen

$profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);

$sql = "SELECT * 
FROM " . RANKS_TABLE . " 
ORDER BY rank_special, rank_min"; 
if ( !($result = $db->sql_query($sql)) ) 
{ 
message_die(GENERAL_ERROR, 'Could not obtain ranks information', '', __LINE__, __FILE__, $sql); 
} 

while ( $row = $db->sql_fetchrow($result) ) 
{ 
$ranksrow[] = $row; 
} 
$db->sql_freeresult($result); 

$poster_rank = ''; 
$rank_image = ''; 
if ( $profiledata['user_rank'] ) 
{ 
for($i = 0; $i < count($ranksrow); $i++) 
{ 
if ( $profiledata['user_rank'] == $ranksrow[$i]['rank_id'] && $ranksrow[$i]['rank_special'] ) 
{ 
$poster_rank = $ranksrow[$i]['rank_title']; 
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : ''; 
} 
} 
} 
else 
{ 
for($i = 0; $i < count($ranksrow); $i++) 
{ 
if ( $profiledata['user_posts'] >= $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] ) 
{ 
$poster_rank = $ranksrow[$i]['rank_title']; 
$rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : ''; 
} 
} 
}
und deiner vorgeschlagenen Variable im Template

Code: Alles auswählen

'POSTER_RANK' => $poster_rank
{postrow.POSTER_RANK}
funktioniert es leider auch nicht :(
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“