Решение: все комментарии в блоке прямого эфира.

Искал сегодня варианты решения задачи вывода всех комментариев в блоке прямого эфира, взамен классическому отображению — группировки комментариев по топикам.

Поискав по сообществу, нашел решение в этом топике. Но оно не показалось очень удобным: необходимость править код методов, править шаблон и тп. По правильному, тут надо делать плагин. Но нашел вариант проще.

Возможно, кому-то пригодится.

Решил покопать еще. Нашел меппер добавления комментария в таблицу prefix_comment_online. Добавление делается с помощью запроса REPLACE, при добавлении комментария БД смотрит, есть ли уже такой же комментарий с уникальным значением поля target_id? Если есть, то комментарий замещается (старый удаляется, помещается новый).
Задача — сделать индекс поля target_id не уникальным. Тогда REPLACE будет работать как обычный INSERT — просто добавлять безусловно новый комментарий в таблицу. И не потребуется правка кода и тп.

1. Идете в phpMyAdmin
2. Открываете таблицу prefix_comment_online в режиме структуры
3. Смотрите список индексов
4. Редактируете индекс target_id: у него по умолчанию стоит значение Index Type: UNIQE. Меняем на Index Type: Index. Сохраняем (Save).
5. Profit.



Нижняя часть отвечает за индексы: Indexes. Смотрим интересующее нас поле — id_type — стоит Unique тип. Меняем на обычный, удаляем дублирование индексов:

Измененный нами индекс — в самом низу, его имя (keyname) теперь ID, значение — не уникальное.

UPD.
Что бы вернуть назад, вначале надо удалить все комменты из prefix_comment_online, а затем восстанавливать уникальные индексы, а то будет ошибка.

4 комментария

avatar
Спасибо тебе добрый человек, все супер работает!!!
  • O3OH
  • 0
avatar
Ну, так-то всё работает, спасибо. Есть несколько вопросов: 1. в «прямом эфире» появляются не комментарии, а названия тем и авторы; 2. есть ли ограничения на кол-во комментариев в «прямом эфире»? т.е. что будет, если комментариев будет так тыщи полторы?
avatar
1. В прямом эфире появляется все тоже, что и до изменений, за исключением количества, так как не происходит «затирания» однотипных записей.
2. Ограничения на отображение — стандартны. Столько, сколько указано в конфиге.

Повторюсь — изменения позволяют только не «затирать» (группировать) однотипные записи, как происходит по-дефолту.
avatar
Да, спасибо. Вроде разобрался. Получилось добавить сами комментарии под название тем в Прямой эфир, только теперь стили надо как-то разделить).
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.