# Пагинация невозможна или просто сложна?

**URL:** https://meta.discourse.org/t/is-pagination-impossible-or-just-hard/231838
**Category:** Development
**Created:** [03.Июль.2022 23:51:48 UTC](https://meta.discourse.org/t/is-pagination-impossible-or-just-hard/231838 "2022-07-03T23:51:48Z")
**Posts on this page:** 1
**Showing post:** 15

<div class="post-metadata">

### Author: ![piffy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/piffy/32/254198_2.png) [@piffy](https://meta.discourse.org/u/piffy)
#### Post date: [28.Октябрь.2022 04:30:24 UTC](https://meta.discourse.org/t/is-pagination-impossible-or-just-hard/231838/15 "2022-10-28T04:30:24Z")

</div>

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

* * *

Я немного продвинулся в реализации пагинации. Идея заключалась в использовании встроенной в Discourse функции `?page=x` для навигации между «страницами» и блокировке загрузки дальнейших сообщений путём переопределения функций потока постов, которые загружают следующую партию постов.

Подробнее см. ниже (и нерешённую проблему):

> [@modifyClass gives TypeError undefined?](https://meta.discourse.org/t/modifyclass-gives-typeerror-undefined/241896):
>
> I’m creating a theme component. I have this in the header: \<script type="text/discourse-plugin" version="0.8"\> api.modifyClass("model:post-stream", { pluginId: 'test', appendMore: function() { this.\_super(); console.log("append"); } }); \</script\> I want to override appendMore and which add posts to the post stream as you scroll. It seems it are being properly overridden as the console is logging as expected. There are two issues thoug…

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

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

Я периодически возвращаюсь к этой задаче. Не уверен, что когда-либо достигну чистого решения, но думаю, что возможно существование «костыльного», но в основном рабочего решения.

---

_[View the full topic](https://meta.discourse.org/t/is-pagination-impossible-or-just-hard/231838)._
