0%
Иконка ресурса

Модификации Панель пользователя в виде виджета

позволяет добавить панель пользователя
  • Автор темы Автор темы xdeep
  • Дата начала Дата начала

Кто просматривает?

Недавно заходили [0]

Всего просматривают: 0 (пользователей: 0, гостей: 0)

Лучший пост по количеству реакций [ 1]

xdeep
Спасибо виджет пропал для гостей но осталось плашка, и не работает параметр Conversations


Этот вариант используйте
HTML:
<xf:set var="$v" value="{$xf.visitor}" />

<aside class="pkWC">
  <header class="pkWC-head">
    <h4 class="pkWC-title">Добро пожаловать на, {$xf.options.boardT…

xdeep

Знаток

Персонал форума
Администратор
Репутация: 100%
Регистрация
06.02.2025
Сообщения
3,294
Основные моменты
2
Решения
15
Реакции
1,905
Баллы
113
Инициатор темы
  • Инструктор
  • Автор темы
  • Администратор
  • Модератор
  • Персонал форума
  • #1
noname разместил(а) новый ресурс:

Панель пользователя в виде виджета - позволяет добавить панель пользователя

Посмотреть вложение 10635

Установка:
Внешний вид -> Виджеты -> Добавить HTML
ключ для виджета любой

HTML:
<xf:set var="$v" value="{$xf.visitor}" />

<aside class="pkWC">
  <header class="pkWC-head">
    <h4 class="pkWC-title">Bienvenue sur, {$xf.options.boardTitle}!</h4>
  </header>

  <div class="pkWC-user">
    <div class="pkWC-avatar">
      <xf:avatar user="$v" size="s" notooltip="true" />
    </div>

    <div class="pkWC-meta">
      <a...

Посмотреть страницу этого ресурса...
 
  • Администратор
  • Модератор
  • Персонал форума
  • #3
  • Администратор
  • Модератор
  • Персонал форума
  • #5
Спасибо буду ждать, единственное уточнение, я новичок в этом деле желательно всё подробно описать если можно )
Пересоберем тебе код и пришлём готовый вариант))
 
  • Инструктор
  • Автор темы
  • Администратор
  • Модератор
  • Персонал форума
  • #7
Спасибо буду ждать, единственное уточнение, я новичок в этом деле желательно всё подробно описать если можно )
добавьте это в HTML виджета. Я на 2.3.7 не тестировал. Тестирую все на 2.3.6

Код:
<xf:if is="{$xf.visitor.user_id}">
<xf:set var="$v" value="{$xf.visitor}" />

<aside class="pkWC">
  <header class="pkWC-head">
    <h4 class="pkWC-title">Добро пожаловать на, {$xf.options.boardTitle}!</h4>
  </header>

  <div class="pkWC-user">
    <div class="pkWC-avatar">
      <xf:avatar user="$v" size="s" notooltip="true" />
    </div>

    <div class="pkWC-meta">
      <a href="{{ link('members', $v) }}" class="pkWC-name"><xf:username user="$v" rich="true" /></a>
      <div class="pkWC-role">
        {{ $v.user_id ? ($v.is_admin ? phrase('administrator') : ($v.is_moderator ? phrase('moderator') : phrase('member'))) : phrase('guest') }}
      </div>
      <xf:if is="$v.user_id">
        <div class="pkWC-joined">
          {{ phrase('joined') }}: <strong><xf:date time="{$v.register_date}" /></strong>
        </div>
      </xf:if>
    </div>
  </div>

  <ul class="pkWC-stats">
    <li>
      <span>Messages</span>
      <a class="pkWC-numLink" href="/search/member?user_id={$v.user_id}">
        <strong>{$v.message_count|number}</strong>
      </a>
    </li>
    <li>
      <span>Reactions</span>
      <a class="pkWC-numLink" href="/account/reactions">
        <strong>{$v.reaction_score|number}</strong>
      </a>
    </li>
    <li>
      <span>Conversations</span>
      <a class="pkWC-numLink" href="/conversations">
        <strong>{$v.conversations_unread|number}</strong>
      </a>
    </li>
    <li>
      <span>Notifications</span>
      <a class="pkWC-numLink" href="/account/alerts">
        <strong>{$v.alerts_unread|number}</strong>
      </a>
    </li>
  </ul>

  <xf:if is="$v.user_id">
    <a class="pkWC-cta" href="{{ link('account') }}">Mon compte</a>
  <xf:else />
    <div class="pkWC-ctaRow">
      <a class="pkWC-cta pkWC-cta--login" href="{{ link('login') }}">Se connecter</a>
      <a class="pkWC-cta pkWC-cta--register" href="{{ link('register') }}">S'inscrire</a>
    </div>
  </xf:if>

  <div class="pkWC-footer">
    <div class="pkWC-clock" data-live-clock>--:--:--</div>
    <xf:if is="$v.user_id">
      <div class="pkWC-last">
        Dernière activité: <strong><xf:date time="{$v.last_activity}" /></strong>
      </div>
    </xf:if>
  </div>
</aside>

<script>
(function(){
  var el = document.querySelector('.pkWC [data-live-clock]');
  if(!el) return;
  function pad(n){ return (n<10?'0':'')+n; }
  function tick(){
    var d=new Date();
    el.textContent = pad(d.getHours())+':'+pad(d.getMinutes())+':'+pad(d.getSeconds());
  }
  tick(); setInterval(tick,1000);
})();
</script>
</xf:if>
 
добавьте это в HTML виджета. Я на 2.3.7 не тестировал. Тестирую все на 2.3.6

Код:
<xf:if is="{$xf.visitor.user_id}">
<xf:set var="$v" value="{$xf.visitor}" />

<aside class="pkWC">
  <header class="pkWC-head">
    <h4 class="pkWC-title">Добро пожаловать на, {$xf.options.boardTitle}!</h4>
  </header>

  <div class="pkWC-user">
    <div class="pkWC-avatar">
      <xf:avatar user="$v" size="s" notooltip="true" />
    </div>

    <div class="pkWC-meta">
      <a href="{{ link('members', $v) }}" class="pkWC-name"><xf:username user="$v" rich="true" /></a>
      <div class="pkWC-role">
        {{ $v.user_id ? ($v.is_admin ? phrase('administrator') : ($v.is_moderator ? phrase('moderator') : phrase('member'))) : phrase('guest') }}
      </div>
      <xf:if is="$v.user_id">
        <div class="pkWC-joined">
          {{ phrase('joined') }}: <strong><xf:date time="{$v.register_date}" /></strong>
        </div>
      </xf:if>
    </div>
  </div>

  <ul class="pkWC-stats">
    <li>
      <span>Messages</span>
      <a class="pkWC-numLink" href="/search/member?user_id={$v.user_id}">
        <strong>{$v.message_count|number}</strong>
      </a>
    </li>
    <li>
      <span>Reactions</span>
      <a class="pkWC-numLink" href="/account/reactions">
        <strong>{$v.reaction_score|number}</strong>
      </a>
    </li>
    <li>
      <span>Conversations</span>
      <a class="pkWC-numLink" href="/conversations">
        <strong>{$v.conversations_unread|number}</strong>
      </a>
    </li>
    <li>
      <span>Notifications</span>
      <a class="pkWC-numLink" href="/account/alerts">
        <strong>{$v.alerts_unread|number}</strong>
      </a>
    </li>
  </ul>

  <xf:if is="$v.user_id">
    <a class="pkWC-cta" href="{{ link('account') }}">Mon compte</a>
  <xf:else />
    <div class="pkWC-ctaRow">
      <a class="pkWC-cta pkWC-cta--login" href="{{ link('login') }}">Se connecter</a>
      <a class="pkWC-cta pkWC-cta--register" href="{{ link('register') }}">S'inscrire</a>
    </div>
  </xf:if>

  <div class="pkWC-footer">
    <div class="pkWC-clock" data-live-clock>--:--:--</div>
    <xf:if is="$v.user_id">
      <div class="pkWC-last">
        Dernière activité: <strong><xf:date time="{$v.last_activity}" /></strong>
      </div>
    </xf:if>
  </div>
</aside>

<script>
(function(){
  var el = document.querySelector('.pkWC [data-live-clock]');
  if(!el) return;
  function pad(n){ return (n<10?'0':'')+n; }
  function tick(){
    var d=new Date();
    el.textContent = pad(d.getHours())+':'+pad(d.getMinutes())+':'+pad(d.getSeconds());
  }
  tick(); setInterval(tick,1000);
})();
</script>
</xf:if>
Спасибо виджет пропал для гостей но осталось плашка, и не работает параметр Conversations

7.png8.png
 
  • Инструктор
  • Автор темы
  • Администратор
  • Модератор
  • Персонал форума
  • #9
Спасибо виджет пропал для гостей но осталось плашка, и не работает параметр Conversations

чтобы лишние элементы не отображались нужно поставить галочку на расширенном режиме в настройках виджета внизу
1762244968891.png
 
  • Инструктор
  • Автор темы
  • Администратор
  • Модератор
  • Персонал форума
  • #10
Спасибо виджет пропал для гостей но осталось плашка, и не работает параметр Conversations


Этот вариант используйте
HTML:
<xf:set var="$v" value="{$xf.visitor}" />

<aside class="pkWC">
  <header class="pkWC-head">
    <h4 class="pkWC-title">Добро пожаловать на, {$xf.options.boardTitle}!</h4>
  </header>
<xf:if is="{$xf.visitor.user_id}">
  <div class="pkWC-user">
    <div class="pkWC-avatar">
      <xf:avatar user="$v" size="s" notooltip="true" />
    </div>

    <div class="pkWC-meta">
      <a href="{{ link('members', $v) }}" class="pkWC-name"><xf:username user="$v" rich="true" /></a>
      <div class="pkWC-role">
        {{ $v.user_id ? ($v.is_admin ? phrase('administrator') : ($v.is_moderator ? phrase('moderator') : phrase('member'))) : phrase('guest') }}
      </div>
      <xf:if is="$v.user_id">
        <div class="pkWC-joined">
          {{ phrase('joined') }}: <strong><xf:date time="{$v.register_date}" /></strong>
        </div>
      </xf:if>
    </div>
  </div>

  <ul class="pkWC-stats">
    <li>
      <span>Сообщения</span>
      <a class="pkWC-numLink" href="/search/member?user_id={$v.user_id}">
        <strong>{$v.message_count|number}</strong>
      </a>
    </li>
    <li>
      <span>Реакции</span>
      <a class="pkWC-numLink" href="/account/reactions">
        <strong>{$v.reaction_score|number}</strong>
      </a>
    </li>
    <li>
      <span>Переписки</span>
      <a class="pkWC-numLink" href="/conversations">
        <strong>{$v.conversations_unread|number}</strong>
      </a>
    </li>
    <li>
      <span>Уведомления</span>
      <a class="pkWC-numLink" href="/account/alerts">
        <strong>{$v.alerts_unread|number}</strong>
      </a>
    </li>
  </ul>
</xf:if>

  <xf:if is="{$xf.visitor.user_id}">
    <a class="pkWC-cta" href="{{ link('account') }}">Мой аккаунт</a>
  <xf:else />
    <div class="pkWC-ctaRow">
      <a class="pkWC-cta pkWC-cta--login" href="{{ link('login') }}">Войти</a>
      <a class="pkWC-cta pkWC-cta--register" href="{{ link('register') }}">Регистрация</a>
    </div>
  </xf:if>

  <div class="pkWC-footer">
    <div class="pkWC-clock" data-live-clock>--:--:--</div>
    <xf:if is="{$xf.visitor.user_id}">
      <div class="pkWC-last">
        Последняя активность: <strong><xf:date time="{$v.last_activity}" /></strong>
      </div>
    </xf:if>
  </div>
</aside>

<script>
(function(){
  var el = document.querySelector('.pkWC [data-live-clock]');
  if(!el) return;
  function pad(n){ return (n<10?'0':'')+n; }
  function tick(){
    var d=new Date();
    el.textContent = pad(d.getHours())+':'+pad(d.getMinutes())+':'+pad(d.getSeconds());
  }
  tick(); setInterval(tick,1000);
})();
</script>
 
Этот вариант используйте
HTML:
<xf:set var="$v" value="{$xf.visitor}" />

<aside class="pkWC">
  <header class="pkWC-head">
    <h4 class="pkWC-title">Добро пожаловать на, {$xf.options.boardTitle}!</h4>
  </header>
<xf:if is="{$xf.visitor.user_id}">
  <div class="pkWC-user">
    <div class="pkWC-avatar">
      <xf:avatar user="$v" size="s" notooltip="true" />
    </div>

    <div class="pkWC-meta">
      <a href="{{ link('members', $v) }}" class="pkWC-name"><xf:username user="$v" rich="true" /></a>
      <div class="pkWC-role">
        {{ $v.user_id ? ($v.is_admin ? phrase('administrator') : ($v.is_moderator ? phrase('moderator') : phrase('member'))) : phrase('guest') }}
      </div>
      <xf:if is="$v.user_id">
        <div class="pkWC-joined">
          {{ phrase('joined') }}: <strong><xf:date time="{$v.register_date}" /></strong>
        </div>
      </xf:if>
    </div>
  </div>

  <ul class="pkWC-stats">
    <li>
      <span>Сообщения</span>
      <a class="pkWC-numLink" href="/search/member?user_id={$v.user_id}">
        <strong>{$v.message_count|number}</strong>
      </a>
    </li>
    <li>
      <span>Реакции</span>
      <a class="pkWC-numLink" href="/account/reactions">
        <strong>{$v.reaction_score|number}</strong>
      </a>
    </li>
    <li>
      <span>Переписки</span>
      <a class="pkWC-numLink" href="/conversations">
        <strong>{$v.conversations_unread|number}</strong>
      </a>
    </li>
    <li>
      <span>Уведомления</span>
      <a class="pkWC-numLink" href="/account/alerts">
        <strong>{$v.alerts_unread|number}</strong>
      </a>
    </li>
  </ul>
</xf:if>

  <xf:if is="{$xf.visitor.user_id}">
    <a class="pkWC-cta" href="{{ link('account') }}">Мой аккаунт</a>
  <xf:else />
    <div class="pkWC-ctaRow">
      <a class="pkWC-cta pkWC-cta--login" href="{{ link('login') }}">Войти</a>
      <a class="pkWC-cta pkWC-cta--register" href="{{ link('register') }}">Регистрация</a>
    </div>
  </xf:if>

  <div class="pkWC-footer">
    <div class="pkWC-clock" data-live-clock>--:--:--</div>
    <xf:if is="{$xf.visitor.user_id}">
      <div class="pkWC-last">
        Последняя активность: <strong><xf:date time="{$v.last_activity}" /></strong>
      </div>
    </xf:if>
  </div>
</aside>

<script>
(function(){
  var el = document.querySelector('.pkWC [data-live-clock]');
  if(!el) return;
  function pad(n){ return (n<10?'0':'')+n; }
  function tick(){
    var d=new Date();
    el.textContent = pad(d.getHours())+':'+pad(d.getMinutes())+':'+pad(d.getSeconds());
  }
  tick(); setInterval(tick,1000);
})();
</script>
Спасибо, всё работает :handshake:
 
Похожие темы Часто смотрят Посмотреть ещё
Назад
Верх Низ