Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Хештеги для форума

Проблемы с установкой или работой phpBB 3.3.x? Получите помощь здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
ReXtor
phpBB 2.0.0
Сообщения: 232
Стаж: 1 год 7 месяцев
Откуда: Сибирь
Благодарил (а): 66 раз
Поблагодарили: 75 раз

Хештеги для форума

Сообщение ReXtor »

Захотелось мне реализовать у себя (на 3.3.8) функционал хештегов, но оказалось что каких-то расширений для этого и нет.

Вариант 1
Первым делом была опробована поддержка при помощи добавления стандартного bbCode:

Админка > Сообщения > BBcodes:

Использование

Код: Выделить всё

[hashtag]{TEXT}[/hashtag]

Замена

Код: Выделить всё

<a href="./search.php?keywords=%23{TEXT}&terms=all&author=&sc=1&sf=firstpost&sr=posts&sk=t&sd=d&st=0&ch=300&t=0&submit=Поиск"><b>#{TEXT}</b></a>

Подсказка

Код: Выделить всё

Вводите хэштег без символа решетки. Используйте один хештег за один раз.

Данный способ подсмотрен в интернете при поиске вариантов по реализации этого функционала.

Особенности:
  • Автораспознавания нет - необходимо обрамлять хештег в BBcode
  • Работает только в разделах где BBcode включен
  • Также BBcode не должен быть отключен в самом сообщении
  • Каждый отдельный хештег необходимо раздельно обрамлять в BBcode
  • Символ "решетки" прописывать не нужно - он появляется сам
  • Текст хештега сам станет "жирным"
  • Хештег преобразовывается в специальную ссылку на поисковый запрос с предопределенными параметрами
  • Регистр символов на поисковую выдачу не влияет - можно использовать как "хештег", так и "ХешТег" или "ХЕШТЕГ"
  • Хештег можно разместить в любом сообщении, но при нажатии на него будут найдены только первые сообщения тем где он указан
    Это сделано намеренно, чтобы не забивать поисковую выдачу лишними результатами
  • При необходимости можно отобразить результаты не только по первым сообщениям, но и по последующим комментариям - используйте поиск
  • При переходе в тему со страницы поиска - будут подсвечены все использования хештега, а не только в первом сообщении
Пример: #хештег

Как указано выше, бывают ситуации, когда bbCode требуется отключить в конкретном сообщении или вообще для всего раздела. Например, это может быть необходимо когда какой-то раздел настроен на выгрузку контента через RSS/Atom в иные ресурсы (VK/Telegram/etc), так как при форматировании через bbCode все будет выглядеть очень неприглядно.
Для таких случаев можно использовать расширение Markdown alfredoramos/markdown https://github.com/AlfredoRamos/phpbb-ext-markdown. Тот же VK очень хорошо принимает разметку поста выполненную посредством этого расширения и отобразит его вполне приемлемо.
При наличии отключенного bbCode, но включенного Markdown для добавления хештега, как в первый пост, так и для последующих упоминаний в комментариях, потребуется использовать следующую конструкцию:

[**#хештег**](/search.php?keywords=%23хештег&terms=all&author=&sc=1&sf=firstpost&sr=posts&sk=t&sd=d&st=0&ch=300&t=0&submit=Поиск)

Где хештег следует заменить на нужный (в двух местах!).

Следует учитывать, что внешний вид ссылок создаваемых через Markdown несколько отличается от обычных (это возможно исправить внеся изменения в стили расширения).

Вариант 2
Вторым вариантом стало расширение RH Topic Tags robertheim/topictags https://github.com/RobertHeim/phpbb-ext-topictags которому на phpBBguru посвящено немало страниц в соответствующей теме.

После применения корректировок указанных в теме расширения, устанавливаем в Админка > Настройка расширений > RH Topic Tags > Настройки в Настройки тегов > Регулярное выражение для разрешенных тегов: значение /^[a-zячсмитьбюэждлорпавыфйцукенгшщзхъёЯЧСМИТЬБЮЭЖДЛОРПАВЫФЙЦУКЕНГШЩЗХЁ0-9]{3,30}$/i

Таким образом, мы разрешим использование тегов на кириллице и латинице, с использованием цифр, но без иных символов и пробелов.

После создаем новый bbCode в Админка > Сообщения > BBcodes:

Использование

Код: Выделить всё

[tag]{TEXT}[/tag]

Замена

Код: Выделить всё

<span class="rh_tag"><a href="./tag/{TEXT}"><b>#{TEXT}</b></a></span>

Подсказка

Код: Выделить всё

Вводите хэштег без символа решетки. Используйте один хештег за один раз.

В результате, при создании нового топика мы можем задавать теги для темы через расширение, а в любых других сообщениях ссылаться на эти темы через bbCode.
Разумеется, не забудьте включить функционал тегов для нужных форумов в Форумы > Управление форумами и при необходимости задать соответствующие права для своих пользователей и групп в Права доступа > Глобальные права доступа (настройка прав становится доступна при внесении исправлений, указанных вот в этом сообщении на странице расширения!)
[phpBB 3.3.8 | Prolight | STK 1.0.19-dev] _ [PHP 7.4.28 | MySQL(i) 5.7.27-30]
Аватара пользователя
ReXtor
phpBB 2.0.0
Сообщения: 232
Стаж: 1 год 7 месяцев
Откуда: Сибирь
Благодарил (а): 66 раз
Поблагодарили: 75 раз

Re: Хештеги для форума

Сообщение ReXtor »

{зарезервировано под дополнительную информацию}
[phpBB 3.3.8 | Prolight | STK 1.0.19-dev] _ [PHP 7.4.28 | MySQL(i) 5.7.27-30]
seasib
phpBB 1.2.1
Сообщения: 22
Стаж: 2 года 9 месяцев
Благодарил (а): 7 раз

Re: Хештеги для форума

Сообщение seasib »

Благодарю за подробное описание реализации! тоже появилась необходимость в таком функционале.

Отправлено спустя 55 минут 39 секунд:
Единственное момент который могут не понять пользователи, это когда добавляешь тэг в новой теме, то надо убирать курсор из инпута ввода тэгов для того чтобы тэг добавился, как-то слегка интуитивно непонятно в первый раз.
ciiz1
phpBB 2.0.4
Сообщения: 440
Стаж: 6 лет 8 месяцев
Благодарил (а): 100 раз
Поблагодарили: 30 раз

Re: Хештеги для форума

Сообщение ciiz1 »

А расширение LMDI Glossary не подайдёт, конечно не Хештег но мне нравилось, если бы не вручную заполнять.
Аватара пользователя
ReXtor
phpBB 2.0.0
Сообщения: 232
Стаж: 1 год 7 месяцев
Откуда: Сибирь
Благодарил (а): 66 раз
Поблагодарили: 75 раз

Re: Хештеги для форума

Сообщение ReXtor »

ciiz1 писал(а): 04.02.2023 13:31 А расширение LMDI Glossary не подайдёт
Нет, это совсем другой функционал.
ciiz1 писал(а): 04.02.2023 13:31 конечно не Хештег
Вот именно.

LMDI Glossary выделяет нам заданные слова (например термины), и дает дополнительную страницу под это слово с его описанием. Можно вставить заданные слова в разных темах или сообщениях, но нет отображения всех тем с этим заданным словом. Назначение LMDI Glossary ясно из его названия - Глоссарий. Что есть словарь терминов.

А хештеги - это все же метка для тем. Пометив тему хештегом, мы впоследствии можем обратиться к нему и увидеть список всех тем, которые им были помечены.
[phpBB 3.3.8 | Prolight | STK 1.0.19-dev] _ [PHP 7.4.28 | MySQL(i) 5.7.27-30]

Вернуться в «Поддержка phpBB 3.3.x»