#Hashtags, @Mentions 2x

Друзья возможно ли как то добавить эти функции в профиль 2x?

#1 29 февраля 2016 в 14:49
Друзья возможно ли как то добавить эти функции в профиль 2x? #Hashtags, @Mentions
Например можно будет отмечать в комментариях кого либо и к нему будут приходить уведомления что вас отметили перейдите по сслыке например @ivan компонент прямых ссылок установлен /users/ivan
#2 29 февраля 2016 в 21:20
Функция очень полезная. Подождём пока разработчики добавят логины в "коробку", а потом может быть кто-то сделает такой компонент. Для этого переделывать движок уже не нужно, можно сделать через хуки.
#4 29 февраля 2016 в 22:05
Буду себе делать подобную систему (но не ранее чем через пол года). Если никто раньше не реализует тогда выложу.
Нужно только детальнее продумать как обычные теги (которые внизу статей, постов и др. типов контента) правильно совместить с хэштегами.
#5 29 февраля 2016 в 22:19
Если решили проблему с именем пользователя вместо ID, то вот

  1.  
  2. <script type="text/javascript">$('.hashLinks').each(function(){var html = $(this).html().replace(/(#[\S]+)/g,'<a href="/search/$1" class="tagHref" title="$1">$1</a>').replace(/(@[\S]+)/g,'<a href="//search?q=$1" class="tagHref" title="$1">$1</a>');$(this).html(html).each(function(){$('.tagHref').each(function(){var href = $(this).attr('href').replace(/#/, '%23').replace(/@/,'');var title = $(this).attr('title').replace(/(#+)/, '');$(this).attr('href',href).attr('title',title);});});});</script>
  3.  
#6 29 февраля 2016 в 22:28


Если решили проблему с именем пользователя вместо ID, то вот

  1.  
  2. $('.hashLinks').each(function(){var html = $(this).html().replace(/(#[\S]+)/g,'$1').replace(/(@[\S]+)/g,'$1');$(this).html(html).each(function(){$('.tagHref').each(function(){var href = $(this).attr('href').replace(/#/, '%23').replace(/@/,'');var title = $(this).attr('title').replace(/(#+)/, '');$(this).attr('href',href).attr('title',title);});});});
  3.  

Sergey Necr

Да есть решение ) Спасибо
#7 29 февраля 2016 в 22:29


Если решили проблему с именем пользователя вместо ID, то вот

  1.  
  2. $('.hashLinks').each(function(){var html = $(this).html().replace(/(#[\S]+)/g,'$1').replace(/(@[\S]+)/g,'$1');$(this).html(html).each(function(){$('.tagHref').each(function(){var href = $(this).attr('href').replace(/#/, '%23').replace(/@/,'');var title = $(this).attr('title').replace(/(#+)/, '');$(this).attr('href',href).attr('title',title);});});});
  3.  

Sergey Necr

А куда это вставить?
#8 1 марта 2016 в 00:32


Если решили проблему с именем пользователя вместо ID, то вот

  1.  
  2. $('.hashLinks').each(function(){var html = $(this).html().replace(/(#[\S]+)/g,'$1').replace(/(@[\S]+)/g,'$1');$(this).html(html).each(function(){$('.tagHref').each(function(){var href = $(this).attr('href').replace(/#/, '%23').replace(/@/,'');var title = $(this).attr('title').replace(/(#+)/, '');$(this).attr('href',href).attr('title',title);});});});
  3.  

Sergey Necr
Не получается (
#9 23 марта 2024 в 15:11

Решил поднять тему. Все работает. Но, при упоминании "@" все после этого знака кликабельны. Например емаил

user@mail.ru, будет кликабелным "@mail.ru". Соответственно превратится в ссылку site.com/users/mail.ru

Также если обернуть @user в например bold или italic то будет так: site.com/users/user</b></i>

На данный момент у меня вот так:

<script type=«text/javascript»>$('.hashLinks').each(function(){var html = $(this).html().replace(/(#[\S]+)/g,'<a href="<?php echo href_to('tags'); ?>/$1" class=«tagHref» title="$1">$1</a>').
        replace(/(@[\S]+)/g,'<b><a href="/users/$1" class=«tagHref» title="$1">$1</a></b>');$(this).html(html).each(function(){$('.tagHref').each(function(){var href = $(this).attr('href').replace(/#/, '').replace(/@/,'');var title = $(this).attr('title').replace(/(#+)/, '');$(this).attr('href',href).attr('title',title);});});});</script>

Добавлено спустя 15 часов

Если кому надо. Я просто добавил пробел "\s+"

replace(/\s+(@[\S]+)/g,' <b>

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.