1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Please donate today & help us with our growing server costs or buy premium for access to our premium products
    Dismiss Notice

FREE alternate sidebar: members online now

Discussion in 'Xenforo Template Mods & Extras' started by HAWK, Mar 22, 2016.

  1. HAWK

    HAWK Administrator Staff Member ADMIN

    Likes Received:
    854
    Trophy Points:
    113
    Gender:
    Male
    this sidebar will load avatars for your online members rather than the default text link. i thought the members would like being able to see at a glance whos online, rather than see a list of text. member feedback has been positive.

    what makes this sidebar different than the other available avatar sidebars is the following:
    • the smallest avatars are loaded.
    • admins and moderators will not reappear in 'members' (they already show in 'staff online').
    • people you follow will not reappear in 'members' (they already show in 'people you follow').
    • tooltip on mouseover with the members name.
    • 'invisible' members' show to admin/mods as semi-transperent
    those worried about this bloating out the page:
    • the avs are an average of 5KiB in size.
    • the avs are cached by your regulars.
    • the number of avs listed is configurable via the acp.
    (1.01) in template sidebar_online_users:

    replace all code with:
    Code:
    <xen:edithint template="sidebar.css" />
    
    <xen:if hascontent="true">
        <!-- block: sidebar_online_staff -->
        <div class="section staffOnline avatarList">
            <div class="secondaryContent">
                <h3>{xen:phrase staff_online_now}</h3>
                <ul>
                    <xen:contentcheck>
                        <xen:foreach loop="$onlineUsers.records" value="$user">
                            <xen:if is="{$user.is_moderator} OR {$user.is_admin}">
                                <li>
                                    <xen:avatar user="$user" size="s" img="true" class="{xen:if '!{$user.visible}', 'dKinvisible'}" />
                                    <xen:username user="$user" rich="true" />
                                    <div class="userTitle">{xen:helper userTitle, $user}</div>
                                </li>
                            </xen:if>
                        </xen:foreach>
                    </xen:contentcheck>
                </ul>
            </div>
        </div>
        <!-- end block: sidebar_online_staff -->
    </xen:if>
    
    <!-- block: sidebar_online_users -->
    <div class="section membersOnline userList">
        <div class="secondaryContent">
            <h3><a href="{xen:link online}" title="{xen:phrase see_all_online_users}">{xen:phrase members_online_now}</a></h3>
            <xen:if is="{$onlineUsers.records}">
                <xen:if is="{$visitor.user_id}">
                    <xen:if hascontent="true">
                    <h4 class="minorHeading"><a href="{xen:link account/following}">{xen:phrase people_you_follow}:</a></h4>
                    <ul class="followedOnline">
                        <xen:contentcheck>
                            <xen:foreach loop="$onlineUsers.records" value="$user">
                                <xen:if is="{$user.followed}">
                                    <li title="{$user.username}" class="Tooltip"><xen:avatar user="$user" size="s" img="true" class="_plainImage{xen:if '!{$user.visible}', ' dKinvisible'}" /></li>
                                </xen:if>
                            </xen:foreach>
                        </xen:contentcheck>
                    </ul>
                    <h4 class="minorHeading"><a href="{xen:link members}">{xen:phrase members}:</a></h4>
                    </xen:if>
                </xen:if>
    
                <ol class="followedOnline">
                    <xen:foreach loop="$onlineUsers.records" value="$user" i="$i">
                        <xen:if is="{$i} <= {$onlineUsers.limit}">
    
                      <xen:if is="!{$user.followed} && !{$user.is_moderator} && !{$user.is_admin}">
                                <xen:if is="{$user.user_id}">
                      <li title="{$user.username}" class="Tooltip"><xen:avatar user="$user" size="s" img="true" class="_plainImage{xen:if '!{$user.visible}', ' dKinvisible'}" /></li>
                    <xen:else />
                                    {xen:phrase guest}<xen:if is="{$i} < {$onlineUsers.limit}">,</xen:if>
                                </xen:if>
                  </xen:if>
    
                        </xen:if>
                    </xen:foreach>
                    <xen:if is="{$onlineUsers.recordsUnseen}">
                        <li class="moreLink">... <a href="{xen:link online}" title="{xen:phrase see_all_visitors}">{xen:phrase and_x_more, 'count={xen:number $onlineUsers.recordsUnseen}'}</a></li>
                    </xen:if>
                </ol>
            </xen:if>
    
            <div class="footnote">
                {xen:phrase online_now_x_members_y_guests_z, 'total={xen:number $onlineUsers.total}', 'members={xen:number $onlineUsers.members}', 'guests={xen:number $onlineUsers.guests}'}
            </div>
        </div>
    </div>
    <!-- end block: sidebar_online_users -->
    the semi-transparent state of invisible members is set by .dKinvisible. you can change this css to suit your own purposes.
    add to template EXTRA.css
    Code:
    /* alternate members online */
    .dKinvisible
    {
            opacity:0.6;
    }
     

Share This Page

Post thread