Лайки на форуме - V2

Здесь можно задать вопросы и сообщить о проблемах при работе с форумом, высказать общие пожелания и идеи развития форума.
Аватара пользователя
idgArt
РАС
Сообщения: 494
Зарегистрирован: 30 мар 2024, 14:00
Пол: Мужской
Статус: Аутичный

Лайки на форуме - V2

Сообщение idgArt » 01 окт 2026, 21:28

Хотел бы предложить немного другой вариант идеи с лайками.

Ранее по этому вопросу уже проводилось голосование, и большинство высказалось против (и я тоже). Но, возможно, имеет смысл рассмотреть вариант, при котором лайки не будут обязательной функцией для всех сообщений.

Технически в phpBB можно реализовать настройку для каждого отдельного сообщения: при его создании или редактировании автор сможет сам выбрать, разрешать лайки или нет. Например, в форме публикации может быть пункт «Разрешить лайки для этого сообщения».

Таким образом, пользователи, которым эта функция не нужна, смогут полностью отключать её для своих сообщений, а те, кому она удобна, смогут ей пользоваться. То есть система будет добровольной и не будет навязываться всем участникам форума.

Насколько я понимаю, такая реализация технически возможна и не требует серьёзной переделки phpBB, особенно если использовать существующее расширение для лайков и дополнить его этой настройкой.

Мне кажется, такой вариант отличается от первоначальной идеи обязательных лайков и поэтому его, возможно, имеет смысл рассмотреть отдельно.

Himera
постоянный пользователь
Сообщения: 13797
Зарегистрирован: 27 окт 2018, 17:49
Статус: Неопределившийся

Re: Лайки на форуме - V2

Сообщение Himera » 01 окт 2026, 21:46

idgArt, мне нравится эта идея :)
Я вообще только "за" лайки, но понимаю, что многим аутичным людям они неудобны. Так что мой голос наверное останется в меньшинстве.
Самодиагностика: аутоподобный синдром (социальная тревожность + ОКР + эмоциональная брезгливость).
РАС/РФА отсутствует.

Аватара пользователя
Mordkin
новичок
Сообщения: 147
Зарегистрирован: 24 мар 2026, 19:56
Пол: Мужской
Статус: Неопределившийся
Откуда: Волгоград

Re: Лайки на форуме - V2

Сообщение Mordkin » 01 окт 2026, 21:51

idgArt, Мне не очень нравится сама механика лайков, она хочешь не хочешь, а создает систему оценки. Не уверен, что это тот инструмент, который необходим даже по желанию.
Чтобы не ссылаться только на ощущения.
Явный минус это, то что появляется ещё один фактор, который нужно учитывать. Не важно как я к нему отношусь, но ресурс на его обработку выделю. Я писал в другой теме. Возможно форуму нужны не новые функции, а наоборот упрощение. То есть, чтобы он был "скучным" как механизм. А интересным его делало только наполнение людей.
Например мне нравиться навигация как она устроена от ghoststory именно в том виде какая она есть.

Upd/ Входной порог на проявление снизить. Не знаю на сколько это реально, авто удаляющаяся тема. То есть человек хочет написать, но ему сложно это сделать по разным причинам. Может тема у которой короткий период существования откроет кому то доступ? не знаю

Аватара пользователя
ghoststory
модератор
Сообщения: 19826
Зарегистрирован: 04 июн 2011, 03:26
Статус: Аутичный

Re: Лайки на форуме - V2

Сообщение ghoststory » 01 окт 2026, 22:08

Понадобится какое-то расширение. И настройка, скорее всего, будет менее тонкая. Не для каждого сообщения, а, например, для разделов (включить или отключить для всего раздела) или с возможностью для каждого пользователя в профиле подключать или отключать отображение счетчика. Тогда те, кто против "лайков", могут их отключить (для своих сообщений или для отображения у себя всего форума). Еще вопрос, как заработает этот форум с такими расширениями.

Проголосовать можно и еще раз.
Мои тексты неграмотны, но больший контроль невозможен. Прошу отнестись с пониманием.

Аватара пользователя
idgArt
РАС
Сообщения: 494
Зарегистрирован: 30 мар 2024, 14:00
Пол: Мужской
Статус: Аутичный

Re: Лайки на форуме - V2

Сообщение idgArt » 01 окт 2026, 22:44

ghoststory писал(а): ↑Понадобится какое-то расширение. И настройка, скорее всего, будет менее тонкая. Не для каждого сообщения, а, например, для разделов (включить или отключить для всего раздела) или с возможностью для каждого пользователя в профиле подключать или отключать отображение счетчика. Тогда те, кто против "лайков", могут их отключить (для своих сообщений или для отображения у себя всего форума). Еще вопрос, как заработает этот форум с такими расширениями.
Можно предусмотреть две независимые настройки.
Первая - при создании или редактировании каждого сообщения автор выбирает, разрешены ли лайки именно для этого сообщения.
Вторая - в профиле пользователя можно полностью отключить отображение лайков. Тогда такой пользователь вообще не будет видеть кнопки лайков, их количество и другие связанные с ними элементы на форуме, независимо от того, разрешил автор конкретного сообщения лайки или нет.
Таким образом, участие в этой системе фактически становится добровольным с обеих сторон: автор не обязан разрешать лайки на свои сообщения, а читатель не обязан вообще видеть систему лайков.
Грубый пример, как это можно реализовать
Если брать phpBB 3.3.x и, например, готовое расширение Thanks for posts, то схема может выглядеть примерно так.

1. Не писать систему лайков с нуля

За основу ставится готовое расширение Thanks for posts. У него уже есть:
  • хранение самих лайков;
  • добавление/удаление лайка;
  • AJAX;
  • права доступа;
  • уведомления;
  • вывод кнопки и счётчика.
То есть дописывать нужно только логику, определяющую, где и кому эта система доступна.

2. Добавить два параметра в базу

Через стандартную migration расширения добавить:

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

phpbb_posts:
post_likes_enabled TINYINT(1) NOT NULL DEFAULT 1
Это настройка конкретного сообщения:

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

1 = автор разрешил лайки
0 = автор запретил лайки
И:

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

phpbb_users:
user_show_likes TINYINT(1) NOT NULL DEFAULT 1
Это личная настройка пользователя:

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

1 = показывать мне систему лайков
0 = вообще не показывать мне лайки
То есть существующая таблица самих лайков остаётся за расширением Thanks for posts. Эти два поля только управляют доступностью и отображением.

3. Добавить галочку в редактор сообщения

Для этого не нужно редактировать posting.php или шаблоны phpBB напрямую.

В расширении можно использовать template event:

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

posting_editor_options_prepend
и вывести в форме:

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

<input type="checkbox"
       name="post_likes_enabled"
       value="1"
       checked>

Разрешить лайки для этого сообщения
При редактировании существующего сообщения состояние галочки берётся из post_likes_enabled.

В PHP-части для формы можно использовать событие:

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

core.posting_modify_template_vars
и передавать в Twig, например:

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

S_POST_LIKES_ENABLED
4. Сохранить выбор автора вместе с сообщением

При нажатии «Отправить» расширение получает:

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

$request->variable('post_likes_enabled', 0)
и через штатное событие phpBB:

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

core.submit_post_modify_sql_data
добавляет это значение в SQL, которым phpBB создаёт или обновляет запись в phpbb_posts.

То есть при обычной отправке сообщения фактически сохраняется:

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

post_id = 12345
poster_id = 100
post_text = ...
post_likes_enabled = 0
Никакой отдельной таблицы для этой настройки даже не требуется.

5. При открытии темы передать это значение в шаблон сообщения

При формировании viewtopic.php значение post_likes_enabled нужно получить вместе с данными сообщения.

Для этого у phpBB есть события:

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

core.viewtopic_get_post_data
core.viewtopic_modify_post_row
В post_row можно добавить, например:

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

'S_POST_LIKES_ENABLED' => (bool) $row['post_likes_enabled'],
'S_USER_SHOW_LIKES'    => (bool) $this->user->data['user_show_likes'],
После этого для каждого сообщения форум уже знает одновременно:

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

разрешил ли лайки автор сообщения;
хочет ли текущий читатель видеть лайки.
6. Условие отображения получается простым

Кнопку и счётчик показывать только при условии:

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

$post_likes_enabled && $user_show_likes
То есть условно:

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

Автор разрешил + читатель разрешил = показываем лайки.

Автор запретил + читатель разрешил = ничего не показываем.

Автор разрешил + читатель отключил лайки = ничего не показываем.

Автор запретил + читатель отключил = ничего не показываем.
У пользователя, отключившего лайки в профиле, интерфейс форума фактически будет выглядеть так, как будто функции лайков вообще нет.

7. Одного скрытия кнопки недостаточно

Это важно: запрет автора нужно проверять ещё и непосредственно при AJAX-запросе на постановку лайка.

То есть обработчик Thanks for posts перед добавлением записи должен получить:

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

SELECT post_likes_enabled
FROM phpbb_posts
WHERE post_id = ...
и если:

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

post_likes_enabled = 0
не добавлять лайк вообще.

Иначе технически кнопку можно было бы скрыть, но запрос отправить вручную.

Иными словами, проверка должна быть и в интерфейсе, и на сервере.

8. Отключение лайков пользователем

В личном разделе phpBB (UCP) можно добавить настройку:

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

Отображать лайки на форуме: Да / Нет
Она меняет только:

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

phpbb_users.user_show_likes
Если выбрано «Нет», расширение не выводит этому пользователю:
  • кнопку лайка;
  • количество лайков;
  • список поставивших лайк;
  • связанные с лайками элементы интерфейса.
При необходимости туда же можно привязать отключение уведомлений о лайках.

9. Уже поставленные лайки при запрете можно не удалять

Если автор сначала разрешил лайки, получил несколько, а затем при редактировании сообщения снял галочку, сами записи можно оставить в таблице расширения.

Просто:

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

post_likes_enabled = 0
и они перестают отображаться/приниматься.

Если автор снова разрешит лайки, прежние данные останутся. Это проще и безопаснее, чем физически удалять записи при каждом переключении.

10. В самом phpBB менять файлы ядра не требуется

Это можно оформить отдельным расширением, например:

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

ext/
└── vendor/
    └── likecontrol/
        ├── composer.json
        ├── ext.php
        ├── config/
        │   └── services.yml
        ├── event/
        │   └── listener.php
        ├── migrations/
        │   └── v100.php
        ├── styles/
        │   └── prosilver/
        │       └── template/
        │           └── event/
        │               └── posting_editor_options_prepend.html
        └── language/
            └── ru/
                └── common.php
Самая специфическая часть - связать эту проверку с конкретным расширением лайков, чтобы его AJAX-обработчик тоже учитывал post_likes_enabled. Это уже зависит от того, какое именно расширение будет выбрано.

Но сама логика "настройка у каждого сообщения + настройка отображения у каждого пользователя" укладывается в обычный механизм расширений phpBB и не требует переписывания форума.

Могу поднять тестовый сервер phpBB и попробовать сначала реализовать эту систему на нём, чтобы убедиться, что это реализуемо и правильно работает.

Аватара пользователя
Mordkin
новичок
Сообщения: 147
Зарегистрирован: 24 мар 2026, 19:56
Пол: Мужской
Статус: Неопределившийся
Откуда: Волгоград

Re: Лайки на форуме - V2

Сообщение Mordkin » 01 окт 2026, 23:08

idgArt, Идея мне нравится. Отдельно от всего нравится. Но вопрос остается. Для каких целей на форуме нужны лайки?
Пример. Я создавал тему со схожим вопросом. Вот у нас есть функция лайков. Для меня это способ дать короткий сигнал одобрения на сообщение. Но участник закрыл для себя эту функцию. Ладно, не проблема.
Но обратная сторона. Человек открыл лайки, а его никто не одобрил. Это уже проблема.

Аватара пользователя
idgArt
РАС
Сообщения: 494
Зарегистрирован: 30 мар 2024, 14:00
Пол: Мужской
Статус: Аутичный

Re: Лайки на форуме - V2

Сообщение idgArt » 01 окт 2026, 23:28

Mordkin писал(а): ↑Но вопрос остается. Для каких целей на форуме нужны лайки?
Тут важно уточнить один момент: я как раз исхожу из того, что по умолчанию лайки у сообщения выключены.

То есть это не будет система, где каждое сообщение автоматически получает возможность собирать оценки. Автор сам при публикации при необходимости включает лайки для конкретного сообщения.

В таком варианте это довольно узкий инструмент. Например:
  • я выложил фотографию и просто хочу получить на неё лайки, без обязательных комментариев;
  • кто-то показал рисунок, поделку, коллекцию, результат своего хобби или что-то ещё, что хочется просто отметить положительной реакцией;
  • участник написал короткое сообщение, с которым многие согласны, но добавлять несколько одинаковых ответов согласен нет особого смысла;
  • кто-то дал полезный совет или поделился информацией, которая пригодилась другим участникам, и лайк позволяет это обозначить без отдельного сообщения;
  • иногда человеку просто понравилось сообщение, шутка, фотография или мысль, но ему нечего к этому добавлять словами;
  • бывает и так, что хочется дать человеку короткую положительную обратную связь, но нет желания или сил формулировать полноценный ответ.
То есть лайк не обязательно должен решать какую-то особую задачу. Иногда это просто удобный способ сказать мне понравилось, согласен, спасибо или увидел и оценил, не создавая ради этого отдельного сообщения.

При этом такая возможность появляется только там, где сам автор решил её включить.

Аватара пользователя
Uwarika
РАС
Сообщения: 6096
Зарегистрирован: 07 дек 2021, 20:02
Статус: Аутичный

Re: Лайки на форуме - V2

Сообщение Uwarika » 02 окт 2026, 05:09

idgArt писал(а): ↑Технически в phpBB можно реализовать настройку для каждого отдельного сообщения: при его создании или редактировании автор сможет сам выбрать, разрешать лайки или нет.
Тоже в прошлом опросе голосовал против лайков, но думаю, в таком формате вреда от них никому не будет, и в каких-то ситуациях это действительно может быть кому-то удобно.

Elhana
РАС
Сообщения: 9405
Зарегистрирован: 21 июн 2012, 18:39
Пол: Женский
Статус: Аутичный

Re: Лайки на форуме - V2

Сообщение Elhana » 02 окт 2026, 07:42

idgArt писал(а): ↑В таком варианте это довольно узкий инструмент. Например:
я выложил фотографию и просто хочу получить на неё лайки, без обязательных комментариев;
кто-то показал рисунок, поделку, коллекцию, результат своего хобби или что-то ещё, что хочется просто отметить положительной реакцией;
Mordkin писал(а): ↑Но обратная сторона. Человек открыл лайки, а его никто не одобрил. Это уже проблема.
ну вот это и есть проблема. никто не лайкнет. Или один-два лайка. И тогда еще комплекс будет, что никому ты не нужен, даже тут....

Аватара пользователя
idgArt
РАС
Сообщения: 494
Зарегистрирован: 30 мар 2024, 14:00
Пол: Мужской
Статус: Аутичный

Re: Лайки на форуме - V2

Сообщение idgArt » 02 окт 2026, 09:55

Elhana писал(а): ↑И тогда еще комплекс будет, что никому ты не нужен, даже тут....
Согласен, такое возможно. Если исходить из позиции повышенной тревожности, то лайки (а точнее, отношение человека к ним) действительно могут её усилить.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей