Архив комментариев в Tickets
Добрый день, Василий!
Вот и приключилось так, что на сайте с Tickets у одной записи 351 комментарий на сегодняшний момент, и это где-то за полтора месяца.
У меня сайт «сезонный», про рыбалку, люди обсуждают водоем. Скажем так, при таком потоке комментариев старые не очень нужны, их бы скрывать или в архив или сделав постраничную навигацию, т.к. через пару лет будет несколько тыс комментариев такими темпами и листать эту простыню — малоприятное удовольствие.
Ты не думал над подобным механизмом «архивирования» старых комментариев?
Вот и приключилось так, что на сайте с Tickets у одной записи 351 комментарий на сегодняшний момент, и это где-то за полтора месяца.
У меня сайт «сезонный», про рыбалку, люди обсуждают водоем. Скажем так, при таком потоке комментариев старые не очень нужны, их бы скрывать или в архив или сделав постраничную навигацию, т.к. через пару лет будет несколько тыс комментариев такими темпами и листать эту простыню — малоприятное удовольствие.
Ты не думал над подобным механизмом «архивирования» старых комментариев?
Комментарии: 16
Не, не думал.
Тут тока одно решение — переезд на modxtalks.artdevue.com/ru/
В общем, мне кажется, единственный вариант — это сделать подгрузку нитей беседы через ajax, как в живом журнале.
То есть, несколько сообщений (3-5) в ветке беседы показываются сразу, а остальное разворачивается\догружается по клику.
Выглядит непросто, запишу в хотелки.
То есть, несколько сообщений (3-5) в ветке беседы показываются сразу, а остальное разворачивается\догружается по клику.
Выглядит непросто, запишу в хотелки.
Василий, а если getPage резать комментарии постранично, считать комментарии на страницу только те которые комментируют пост а не комментарии, тогда будет сохранено дерево, комментарии будут похожими, как Вконтакте.
Интересно, так сделать легче или сложнее?
Интересно, так сделать легче или сложнее?
Так то проще, только 80% комментов пропадёт из выдачи.
Если не страшно — то сделай так:
Если не страшно — то сделай так:
[[!TicketComments?
&where=`{"TicketComment.parent":0}`
]]
Спасибо!
Я хотел сказать, что комментарии на комментарии не удалять, а оставлять их на страницах, но только их не считать при формировании страницы при нарезке страниц.
То есть на каждой странице будет заданное число комментариев на пост, а комментариев на комментарии будет столько сколько накомментировали.
Я хотел сказать, что комментарии на комментарии не удалять, а оставлять их на страницах, но только их не считать при формировании страницы при нарезке страниц.
То есть на каждой странице будет заданное число комментариев на пост, а комментариев на комментарии будет столько сколько накомментировали.
Тогда вообще весь принцип построения дерева комментария надо менять.
Сейчас достается всё за один запрос, потом строится дерево из них, рекурсивно.
А тут надо достать комменты первого уровня, а потом еще кучу запросов на их ветки.
Хлопотно, и скорее всего, медленно, но — возможно.
Сейчас достается всё за один запрос, потом строится дерево из них, рекурсивно.
А тут надо достать комменты первого уровня, а потом еще кучу запросов на их ветки.
Хлопотно, и скорее всего, медленно, но — возможно.
Понятно.
А вот так нельзя: достается всё за один запрос, потом строится дерево, затем отсчитываются комментарии первого уровня другие пропускаются — режется и создаются страница и т.д.?
А вот так нельзя: достается всё за один запрос, потом строится дерево, затем отсчитываются комментарии первого уровня другие пропускаются — режется и создаются страница и т.д.?
Тогда проще на js + css спрятать ненужное.
Начинает весьма прилично тормозить рендер страницы с 300+ комментариями. Если прибавить что к некоторым комментариям добавлены картники.
Вообще самый адекватный вариант наверное все же постраничный, как описано выше.
Вообще самый адекватный вариант наверное все же постраничный, как описано выше.
bezumkin.ru/sections/blog/67/ — 326 комментариев, тормозов нет.
Я равняюсь на Хабр, там нет постраничной разбивки, а комментариев бывает в разы больше.
Может, при хорошей посещалке и сервер нужен хороший?
Александр вопрос задал не про тормоза, а про «скрыть ненужное».
Я равняюсь на Хабр, там нет постраничной разбивки, а комментариев бывает в разы больше.
Может, при хорошей посещалке и сервер нужен хороший?
Александр вопрос задал не про тормоза, а про «скрыть ненужное».
fishspace.ru/places/to/venevskij/platnik-vorotnya/ — 380 на текущий момент, это с начала мая примерно. Боюсь представить, что будет к концу года :)
И на моем не очень шустром ноуте уже притормаживает браузер, для этого сайта было бы идеально скрывать старые комментарии с группировкой по годам например.
И на моем не очень шустром ноуте уже притормаживает браузер, для этого сайта было бы идеально скрывать старые комментарии с группировкой по годам например.
Алексей, у вас страницы даже с малым количеством комментариев fishspace.ru/places/to/leninskij/obidimo/ обрабатываются за полторы секунды, а из кэша они должны раз в 5 быстрее обрабатываться. Может у вас сниппеты такие, как Wayfinder не кэшируются?
Да там есть проблемы с сайтом, много наворотил всего по неопытности сначала. Потом более-менее разгреб, но помогло не сильно… Надо все хорошенько переписывать там, а времени нет пока.
Вот здесь посмотрите как реализовано 3822 комментария
Да, интересная реализация! Мне бы подошла, я бы правда предпочел по годам группировать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.