Seite 1 von 1

Teile bei bestimmten Userrank anzeigen

Verfasst: 06.01.2007 13:11
von The real Indigo
Ich möchte für meine Mitglieder mit Benutzerrank 10 (Supporter) einige Sachen anzeigen lassen die Benutzer mit einem anderen Rank nicht sehen sollen.

Wie stell ich das am Besten an ?

Im Template soll das etwas so aussehen:

Code: Alles auswählen

<!-- BEGIN switch_userrank_10 -->
Hier der Code der nur für die User Rank 10 sichtbar sein soll.
<!-- END switch_userrank_10 -->

Verfasst: 06.01.2007 14:27
von QO
Hab uns auf Grundlage des Snippets für bestimmte Gruppen ( hier) folgendes Probiert, hoffe es geht auch bei dir...


Code: Alles auswählen

#
#-----[ Öffne ]------------------------------------------
#
includes/functions.php
#
#-----[ Finde ]------------------------------------------
#
?>
#
#-----[ Füge davor ein ]-------------------------------------------
#
function rankmember_of($user_ranking, &$userdata)
{
        global $db;
        if ( !$userdata['session_logged_in'] )
        {
                return false;
        }
        $sql = "SELECT count(*) AS num FROM " . USERS_TABLE . "
                WHERE user_id = '" . $userdata['user_id'] . "' AND user_rank IN ('" . $userdata['user_rank'] . "') AND user_rank = '".$user_ranking."'" ;
          if ( !($result = $db->sql_query($sql)) )
        {
                message_die(GENERAL_ERROR, 'Could not get rank', '', __LINE__, __FILE__, $sql);
        }
        $row = $db->sql_fetchrow($result);
        if ( $row['num'] > 0 )
        {
                return $userdata['user_rankmember_of_' . $user_ranking] = true;
        }
        return $userdata['user_rankmember_of_' . $user_ranking] = false;
}
#
#-----[ Öffne ]------------------------------------------
#
includes/page_header.php
#
#-----[ Finde ]------------------------------------------
#
       if ( !empty($userdata['user_popup_pm']) )
        {
                $template->assign_block_vars('switch_enable_pm_popup', array());
        }
#
#-----[ Füge danach ein ]-------------------------------------------
#
        if ( rankmember_of('123', $userdata) )
        {
                $template->assign_block_vars('switch_userrank_123', array());
        }
wobei 123 jeweils die Rank ID ist. Mehrere Ranks können mit einem Komma getrennt eingegeben werden.
Anschließend den entsprechenden Teil in der Template Datei mit folgendem Schalter umschließen:

Code: Alles auswählen

<!-- BEGIN switch_userrank_123 -->
Hier der Code der nur für die Gruppe sichtbar sein soll.
<!-- END switch_userrank_123 -->

Verfasst: 06.01.2007 15:51
von The real Indigo
Das Snipped kenn ich...


Ich probier das mal aus melde mich dann...

Verfasst: 06.01.2007 17:18
von The real Indigo
Funktioniert.


Allerdings nicht musste ich das

Code: Alles auswählen

if ( rankmember_of('123', $userdata) )
        {
                $template->assign_block_vars('switch_userrank_123', array());
        } 
nicht in die page_header.tpl einbauen sondern in die Datei wo ich es brauchte.

Verfasst: 06.01.2007 19:43
von nervensäge
page_header wird sowieso in fast jeder datei includet :wink:

Verfasst: 06.01.2007 19:56
von The real Indigo
Stimmt schon, funzte aber damit irgendwie nicht.

Wichtig ist ja dass es jetzt klappt...