По просьбам пользователей, реализован альтернативный вариант
давно полюбившейся многим возможности комментировать оценки,
с применением возможностей MyBB без привязки к сторонним ресурсам:
Комментарии к оценкам за сообщения
(скриншот 1)
(скриншот 2)
(скриншот 3)
Функционал использует исключительно возможности движка форумов, чем достигается стабильная работа без отказов.
Компактная форма ввода комментариев, привязанная к конкретному сообщению, адаптированная под все устройства (скриншот 1). Закрывается по клику в любом месте страницы.
Набранный текст комментария сохраняется (до обновления страницы), если вы случайно закрыли форму комментирования.
Улучшенное взаимодействие с пользователем. При появлении формы комментирования поле ввода уже находится в фокусе: можно сразу вводить текст.
При использовании совместно с Мгновенными уведомлениями предусмотрено получение комментариев к оценкам в тексте уведомлений (скриншот 3). При этом ложные срабатывания исключаются.
Предусмотрено удаление и редактирование комментариев на страницах "Уважение" и "Позитив": можно удалять и редактировать собственные комментарии, а полученные комментарии на свои посты — только удалять. При этом администраторам форума доступно удаление любых комментариев (скриншот 2).
Редактировать комментарий можно двумя способами: при повторной попытке проголосовать за то же самое сообщение либо на странице "Уважение" или "Позитив". Во втором случае реализован удобный интерфейс для редактирования.
Скрипт поддерживает локализацию, а именно интерфейс на двух языках: русском и английском.
Как бонус, оценивание сообщений всегда будет происходить без перезагрузки страницы, даже если сообщение подгружено на страницу ajax-ом. Комментирование в таких случаях также обрабатывается корректно.
Доступен к использованию на любых форумах MyBB, включая RusFF (в этом случае стандартный функционал комментирования автоматически отключается).
Установочный код: в HTML верх
Код:<!-- Комментарии к оценкам за сообщения © Alex_63, 2024 --> <link rel="stylesheet" type="text/css" href="//forumstatic.ru/f/ru/bestbb/reputation.css" /> <script type="text/javascript" src="//forumstatic.ru/f/ru/bestbb/reputation.js"></script>Скрипт предоставляется по платной подписке, подключается автоматически при активации подписки.
Стоимость подписки:
бессрочная (неограниченный срок) — 4500 рублей (при установке сразу на 2 и более форумов — 4000 рублей за каждый);
1 год (365 календарных дней) — 1500 рублей.
Перед оплатой подписки дается возможность бесплатного подключения на пробный период — 10 дней (однократно для одного форума).
Для активации подписки (в том числе пробного периода) обращайтесь в личные сообщения, указав адрес форума и срок подписки.
Подробности установки и способов оплаты также можно уточнить в ЛС.Оплаченные в счёт подписки (на любой период) средства после получения пользователем подписки для обозначенного форума возврату не подлежат.
За 3 дня до истечения срока подписки администраторы оповещаются всплывающим уведомлением, сообщающим о необходимости продления.
Если есть необходимость оставить возможность простановки оценок без комментирования, установите дополнительный код:
Код:<!-- Быстрые плюсы, дополнение к Комментариям (c) Alex_63 --> <style>.punbb .post-vote {display: block !important}</style> <script type="text/javascript"> $(document).on('click', '.post-rating a', function() { try { return reputation.handler.call($(this).closest('div').next().find('a:first')[0], $.Event()) } catch(e) {} }); </script>С данным кодом "быстрое оценивание" будет срабатывать при клике на цифру рейтинга поста (добавит к рейтингу +1).
Стандартные ссылки оценивания поста ("+" и "-" в поле Уважение и в нижней части поста) будут видны всегда и будут вызывать форму комментария.Если нужно убрать значок "+" у оценки поста (как в "Быстроплюсах" от @Deff), после предыдущего кода добавьте следующий:
Код:<script> (function(){function toNumber(){$('.post-rating a').text(function(){var val=parseInt($(this).text());if(val>0)$(this).addClass('positive-value');return val});} $(document).on('pun_main_ready pun_post', toNumber).on('ajaxSuccess',function(e,xhr,data){if(data.url.match(/relation/)||data.url.match(/api\.php.+rating/))setTimeout(toNumber)})})() </script>Если уже стоят "Быстроплюсы" от @Deff, данные дополнения ставить не нужно!
Однако если у вас включена отправка сообщений с помощью ajax, рекомендуется их установить, а код от @Deff удалить.
Функционал комментирования уже установлен на этом форуме, тестируйте
Бесплатные дополнения
Скрипт обновляется автоматически без участия пользователя.
Актуальная версия 1.0.9 от 29 ноября 2024.