June 5, 2022

Фильтр по теме поиска

Увиливаю от допиливания встроенных настроек скрипта маски как только могу. Сегодня могу вот так.

Этот скрипт рассчитан на кроссоверы в первую очередь, но в принципе ничего не мешает использовать его на любом другом форуме.

Администратору больше не нужно руками вносить в первое сообщение список заявок, а также следить за его актуальностью, список формируется сам.

!!! Код находится в стадии бета-тестирования, возможны невероятные кульбиты и странные происшествия. Я буду благодарен за багрепорт и фидбек !!!

Что делает:

  • В заданной скрипту теме проходит по всем постам и собирает из них имена персонажей из блоков [block=nm]ИМЯ_ПЕРСОНАЖА[/block]
  • Там же группирует имена по фандомам. Фандомы находит в постах в коде [block=fd]НАЗВАНИЕ_ФАНДОМА[/block]
1. В CSS нужно будет или стилизовать блоки под ваш дизайн, или скрыть их от посторонних глаз.
  • Из того, что получилось формирует симпатичный алфавитный список и вставляет его в первое сообщение темы, в блок [block=charlist][/block]
  • Этот список интерактивен: при клике на заголовок посты в теме отфильтруются по фандому. При клике на имя персонажа будет показан пост с заявкой на персонажа.
2. Активные фильтры подсвечиваются.

К тому же, очередному пришедшему в гостевую с вопросом "кто нужен из фандома NNN?" можно ответить ссылкой из темы поиска с применённым фильтром по фандому — и он сможет пройти в тему с отфильтрованными заявками.

Чтобы начать использовать скрипт у себя, требуется

  • расставить по всем постам темы поиска блоки с именем персонажа и фандомом, примерно как показано на первом скриншоте (хотя положение в тексте не принципиально);
  • в первый пост вставить код [block=charlist][/block]
  • вставить в html-верх код
<script src="https://forumstatic.ru/files/0017/95/29/51757.js"></script>
<script>
  hvWantedFilters.init(999);
</script>
  • заменить 999 на номер темы поиска.

Код находится в стадии тестирования. Я собираю пожелания, поправки, указания на баги, негодования и прочий фидбек.