Индикатор количества юзеров

Индикатор количества юзеров

Arturovich

Проверенные
Сообщения
14
Реакции
23
Баллы
1,700
Пользователь Arturovich разместил новый ресурс:

Индикатор количества юзеров - Индикатор (Батарейка) для блока (Пользователи онлайн)

Требования: Должен быть установлен Font Awesome

Для установки на сайт, достаточно зайти в шаблон sidebar_online_users
И находим начало блока:
<!-- block: sidebar_online_users -->
<div class="section membersOnline userList">
<div class="secondaryContent">


Далее заменяем вместе с ним на:

HTML:
<!-- block: sidebar_online_users -->
<div class="section membersOnline userList">       
    <div class="secondaryContent">
        <h3>
        <xen:if...

Узнать больше об этом ресурсе...
 
Чуть оптимизированный вариант.
Код:
<!-- block: sidebar_online_users -->
<div class="section membersOnline userList">       
    <div class="secondaryContent">
        <h3>
        <xen:if is="{$onlineUsers.total} == 1">
            <i class="fa fa-battery-empty Tooltip" title="Всего один человек :(" aria-hidden="true"></i>     
        <xen:elseif is="{$onlineUsers.total} == 2" />
            <i class="fa fa-battery-quarter Tooltip" title="Всего два человека на форуме" aria-hidden="true"></i>
        <xen:elseif is="{$onlineUsers.total} == 3" />
            <i class="fa fa-battery-half Tooltip" title="Трое на форуме" aria-hidden="true"></i>
        <xen:elseif is="{$onlineUsers.total} == 4" />
            <i class="fa fa-battery-three-quarters Tooltip" title="Четыре человека на форуме" aria-hidden="true"></i>
        <xen:elseif is="{$onlineUsers.total} > 4" />
            <i class="fa fa-battery-full Tooltip" title="Онлайн {$onlineUsers.total}" aria-hidden="true"></i>
        </xen:if>
      
        <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" /></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="listInline">
                <xen:foreach loop="$onlineUsers.records" value="$user" i="$i">
                    <xen:if is="{$i} <= {$onlineUsers.limit}">
                        <li>
                        <xen:if is="{$user.user_id}">
                            <a href="{xen:link members, $user}" dir="auto"
                                class="username{xen:if '!{$user.visible}', ' invisible'}{xen:if {$user.followed}, ' followed'}">{$user.username}</a><xen:if is="{$i} < {$onlineUsers.limit}">,</xen:if>
                        <xen:else />
                            {xen:phrase guest}<xen:if is="{$i} < {$onlineUsers.limit}">,</xen:if>
                        </xen:if>
                        </li>
                    </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_robots_a, 'total={xen:number $onlineUsers.total}', 'members={xen:number $onlineUsers.members}', 'guests={xen:number $onlineUsers.guests}', 'robots={xen:number $onlineUsers.robots}'}
        </div>
    </div>
</div>
<!-- end block: sidebar_online_users -->

EXTRA.css
Код:
.membersOnline .fa-battery-empty {
 color:red;
}

.membersOnline .fa-battery-quarter {
 color:orange;
}

.membersOnline .fa-battery-half {
 color:#ffd73d;
}

.membersOnline .fa-battery-quarters {
 color:#e8ff36;
}

.membersOnline .fa-battery-full {
 color:#22e22a;
}
 
Mirovinger, Отлично, спасибо, я просто еще не совсем подружился с xenforo, гайдов никаких нормальных нет по поводу математических выражений, и в целом. Нужно везде понемножку черпать...
 
Что-то не фурычит батарейка :( Точнее работает нормально когда пользователей за 50, а когда меньше никак не хочет работать.
Код:
<h3>
        <xen:if is="{$onlineUsers.total} == 2">
            <i class="fa fa-battery-empty Tooltip" title="Всего пара человек :(" aria-hidden="true"></i>   
        <xen:elseif is="{$onlineUsers.total} == 10" />
            <i class="fa fa-battery-quarter Tooltip" title="Более 10 на форуме" aria-hidden="true"></i>
        <xen:elseif is="{$onlineUsers.total} == 25" />
            <i class="fa fa-battery-half Tooltip" title="Более 25 на форуме" aria-hidden="true"></i>
        <xen:elseif is="{$onlineUsers.total} == 50" />
            <i class="fa fa-battery-three-quarters Tooltip" title="Более 50 на форуме" aria-hidden="true"></i>
        <xen:elseif is="{$onlineUsers.total} > 50" />
            <i class="fa fa-battery-full Tooltip" title="Онлайн {$onlineUsers.total}" aria-hidden="true"></i>
        </xen:if>
    
        <a href="{xen:link online}" title="{xen:phrase see_all_online_users}">{xen:phrase members_online_now}</a></h3>
Заменил числа на свои, мож где чего не так сделал ?
В остальном вроде ничего не трогал.
 
Последнее редактирование:
Все хорошо :) есть один момент со стилями, в которых иконки подключаются в css, используется псевдоэлемент before, будет две иконки перед названием блока.

Да еще че :) там условия только на равно, но ведь есть промежуточные значения, значит надо делать больше-равно значению AND меньше другого значения.
 
Все хорошо :-) есть один момент со стилями, в которых иконки подключаются в css, используется псевдоэлемент before, будет две иконки перед названием блока.

Да еще че :-) там условия только на равно, но ведь есть промежуточные значения, значит надо делать больше-равно значению AND меньше другого значения.
Спасибо за наводку.
Вот так заработало :
Код:
<h3>
        <xen:if is="{$onlineUsers.total} >= 0 AND {$onlineUsers.total} <= 5">
            <i class="fa fa-battery-empty Tooltip" title="Всего пара человек :(" aria-hidden="true"></i>  
        <xen:elseif is="{$onlineUsers.total} >= 5 AND {$onlineUsers.total} <= 15" />
            <i class="fa fa-battery-quarter Tooltip" title="Более 5 на форуме" aria-hidden="true"></i>
        <xen:elseif is="{$onlineUsers.total} >= 15 AND {$onlineUsers.total} <= 30" />
            <i class="fa fa-battery-half Tooltip" title="Более 15 на форуме" aria-hidden="true"></i>
        <xen:elseif is="{$onlineUsers.total} >= 30 AND {$onlineUsers.total} <= 50" />
            <i class="fa fa-battery-three-quarters Tooltip" title="Более 30 на форуме" aria-hidden="true"></i>
        <xen:elseif is="{$onlineUsers.total} > 50" />
            <i class="fa fa-battery-full Tooltip" title="Онлайн более 50{$onlineUsers.total}" aria-hidden="true"></i>
        </xen:if>
   
        <a href="{xen:link online}" title="{xen:phrase see_all_online_users}">{xen:phrase members_online_now}</a></h3>
Я писатель еще тот, мож чего не верно написал но работает :-)
 
Последнее редактирование:
edgolo, убери значения взаимозаменяющие, например <=5 и в другом условии >=5 и так далее
 
Все хорошо :-) есть один момент со стилями, в которых иконки подключаются в css, используется псевдоэлемент before, будет две иконки перед названием блока.
Две иконки отображаются из за не правильного выражения, то есть как ты написал выше
<=5 и в другом условии >=5
 
Нет, выше подразумевались стили, в которых присутствует иконка FA.
 
Пользователь Arturovich обновил ресурс Индикатор количества юзеров новой записью:

Онлайн индикатор батарейка (исправлено)

В этом обновлении исправлены некоторые недочеты из за которых нельзя было добавить диапазон юзеров, а так же стили перенесены отдельно в CSS.

Находим начало блока и заменяем вместе с ним


<!-- block: sidebar_online_users -->
<div class="section membersOnline userList">


На:

HTML:
<!-- block: sidebar_online_users -->
<div class="section membersOnline userList">       
    <div class="secondaryContent">
        <h3>
        
         <xen:if is="{$onlineUsers.total} >=...

Узнать больше об этом обновлении...
 
Hope, А зачем? если сразу рядом стиль этого же блока?)

Редактировать шаблон  sidebar_online_users   Панель управления   DXPort. It`s your game.png
 
:facepalm: И при обновление ломаем всё и жалуемся на форум, проблемы.
 
За тем, что шаблон EXTRA.css, для этого и предназначен.
Даже sidebar_online_users, тоже не рекомендуется править, для этих целей, нужно использовать - /admin.php?template-modifications/
 
Спасибо за советы, я просто еще не такой "Гуру" как вы. Только не давно пользуюсь XenForo
Так для общего развития:
Включаем режим отладки, заходим /admin.php?add-ons/add и создаем дополнение:
ID дополнения: online_users_battery
Заголовок: Батарейка онлайн пользователей
Информация о версии: 0.0.1
Номер версии: 1
Жмем "Сохранить дополнение"
Идем дальше, Внешний вид: Шаблоны, создаем новый шаблон online_users_battery для дополнения Батарейка онлайн пользователей с содержимым:
Код:
<xen:set var="$online_users_battery">
    <xen:if is="{$onlineUsers.total} >= 0 AND {$onlineUsers.total} <= 5">
        <i class="fa fa-battery-empty Tooltip" title="Всего пара человек :(" aria-hidden="true"></i>
    <xen:elseif is="{$onlineUsers.total} > 5 AND {$onlineUsers.total} <= 15" />
        <i class="fa fa-battery-quarter Tooltip" title="Более 5 на форуме" aria-hidden="true"></i>
    <xen:elseif is="{$onlineUsers.total} > 15 AND {$onlineUsers.total} <= 30" />
        <i class="fa fa-battery-half Tooltip" title="Более 15 на форуме" aria-hidden="true"></i>
    <xen:elseif is="{$onlineUsers.total} > 30 AND {$onlineUsers.total} <= 50" />
        <i class="fa fa-battery-three-quarters Tooltip" title="Более 30 на форуме" aria-hidden="true"></i>
    <xen:elseif is="{$onlineUsers.total} > 50" />
        <i class="fa fa-battery-full Tooltip" title="Онлайн более 50{$onlineUsers.total}" aria-hidden="true"></i>
    </xen:if>
</xen:set>
Создаем еще шаблон online_users_battery.css для этого же дополнения, с содержимым:
Код:
.membersOnline .fa {
    margin-right: 5px;
}

.membersOnline .fa-battery-empty {
    color: red;
}

.membersOnline .fa-battery-quarter {
    color: orange;
}

.membersOnline .fa-battery-half {
    color: #ffd73d;
}

.membersOnline .fa-battery-three-quarters {
    color: #e8ff36;
}

.membersOnline .fa-battery-full {
    color: #22e22a;
}
Переходим в модификации шаблонов, создаем новую:
Шаблон: EXTRA.css
Ключ модификации: users_battery_extra
Тип поиска: Регулярное выражение
Найти:
Код:
#^.*$#su
Заменить:
Код:
$0
<xen:include template="online_users_battery.css" />
Дополнение: Батарейка онлайн пользователей
Делаем еще модификацию:
Шаблон: sidebar_online_users
Ключ модификации: users_battery_template
Тип поиска: Регулярное выражение
Найти:
Код:
#^.*$#su
Заменить:
Код:
<xen:include template="online_users_battery" />
$0
Дополнение: Батарейка онлайн пользователей
И еще одну модификацию:
Шаблон: sidebar_online_users
Ключ модификации: users_battery_h3
Тип поиска: Регулярное выражение
Найти:
Код:
#(section membersOnline userList">)(.*)(<h3>)(.*)#Us
Заменить:
Код:
${1}
${2}${3}{xen:raw $online_users_battery}
Дополнение: Батарейка онлайн пользователей
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу