Вниз  Вопросы и обсуждения
- 5.04.2015 / 13:02
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
web_demon, ну у меня такая же мысль возникала. Ты ж ещё не забывай, что жуткая проблема со скрытыми постами есть.
__________________
 let live
- 5.04.2015 / 13:49
web_demon
  Супервизор

web_demon 
Сейчас: Offline
aNNiMON, Я про неё не забываю, удаления постов в новом двиге в форуме по этой причине пока нет. Как-нить себеремся и обсудим. Кое какие идеи у меня есть.

Если у кого есть идеи - пишите сюды)

Изменено web_demon (5.04 / 13:54) (всего 1 раз)
- 5.04.2015 / 13:52
web_demon
  Супервизор

web_demon 
Сейчас: Offline
С дописыванием количества на страницу не выйдет. Те первый пос будет попадать да. Но вот к примеру у одного 20, у другого 10, и те остальные 10 постов будут на новой странице, а вдруг чувак их и хотел показать и тд. В общем пока остаётся хардкорный вариант - у всех одинаково.
- 5.04.2015 / 14:06
AHiLLA
  Пользователь

AHiLLA 
Сейчас: Offline
web_demon, а зачем, собственно, давать ссылку на страницу?
Только вот когда поиск по форуму юзаешь, эта проблема есть. Нашел нужный пост, нажимаешь на тему и попадаешь совсем не на ту страницу. Лучше бы сразу на пост.
- 5.04.2015 / 14:29
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
web_demon, просто всё должно держаться на id'шках постов. В том числе и pagination.
- 5.04.2015 / 14:50
Bogdan-G
  Пользователь

Bogdan-G 
Сейчас: Offline
У каждого поста свой уникальный ID, разве нет? Либо SubID для каждой темы юзать.
- 5.04.2015 / 15:12
web_demon
  Супервизор

web_demon 
Сейчас: Offline
Ксакеп, Как то я слабо это предствляю. Ну будет с ид грузится, все равно все так же останется.
- 5.04.2015 / 17:45
Oak
  Пользователь

Oak 
Сейчас: Offline
web_demon, Это, непрочитанное есть в новом форуме? Если да, то сделай и фичу «Недавнее», тут она есть, но без неё неудобно очень :с
__________________
 Эль Презеденте
- 5.04.2015 / 18:28
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
web_demon, ну смотри. Нужно работать в рамках ID'ек постов, а не с точки зрения страниц и пагинации. Количество постов в теме изменяется, поэтому на эту величину нельзя опираться. А ID'шки уникальны.

Давай будем отталкиваться от какого-то примера.
  1. PostID
  2. 1        — первая страница
  3. 2
  4. 3
  5. 8
  6. 14       — конец первой страницы
  7. 15       — вторая страница
  8. 16
  9. 28
  10. 101
  11. 102      — конец второй
  12. 103
  13. ...

Страницы у меня — это 5 постов. В URL находится что-то такое: /id64-<PostID>. Этот PostID указывает на первый пост, который будет отображаться на странице (например, 1 или 15).

В чём плюс: пользователи могут иметь хоть 200 постов на одной странице, это не изменит ситуацию — первый пост всегда один и тот же. То есть, исходная проблема решается (UPD: смотри ниже).

Есть ещё одна проблема, связанная с количеством (даже на этом форуме), допустим, есть такая ситуация:

  1. POST
  2. 1       — первая страница
  3. 2
  4. 3
  5. 4
  6. 5
  7. 7
  8. 8       — вторая страница, даём на неё ссылку вида /id64?page=2
  9. 9
  10. 10

А потом админы подчистили посты с первого по 7, так что вторая страница фактически становится первой, но ссылка /id64?page=2 всё ещё указывает на вторую страницу, которой не существует! Если бы ссылка основывалась на PostID, то этого бы не произошло.

Что ещё? Допустим, модер подчистил и 8 пост, на которой основывалась ссылка /id64-8 — в таком случае нужно просто выводить посты с PostID равным 9. Ну, то есть следующие существующие.


UPD: Решается наполовину, без модификаций.

User1: имеет размер страницы в 10 постов.
User2: имеет размер страницы в 100 постов.

Сценарий1: User1 заходит на страницу 6 на форуме, и даёт на неё ссылку. Все 10 постов шестой страницы также отобразятся и у User2. Здесь проблема решена.

Сценарий2: User2 заходит на страницу 6 и даёт на неё ссылку. Все 100 постов у User1 не отобразятся, только первые 10. Проблема решена частично, но можно прокрутить следующие 90 постов, если у User1 есть желание. И это в общем-то логично.


Решение: либо добавлять в URL ещё один параметр /id64-<PostID>-<Size>, который будет обозначать, сколько постов нужно обязательно отобразить. Если Size стандартный (скажем, в 20 постов), то его указывать не нужно.

Решение2: при прокрутке страницы вниз, обновлять показатель Post-ID.

Изменено Ксакеп (5.04 / 18:37) (всего 1 раз)
- 5.04.2015 / 18:48
web_demon
  Супервизор

web_demon 
Сейчас: Offline
Ксакеп, короче это абсолютно ничем не отличается от использования связки страница+количество постов на страницу. Мы точно так же можем вычислить положение первого поста зная эти 2 параметра (узнать start для запроса) - а твой вариант плох тем, что надо будет при выводе тем запрашивать посты, чтоб узнать сколько страниц в теме, и как заредиректить на последнюю. И постраничная навигация превратится в говнокодистый ад.
А потом админы подчистили посты с первого по 7, так что вторая страница фактически становится первой, но ссылка /id64?page=2 всё ещё указывает на вторую страницу, которой не существует! Если бы ссылка основывалась на PostID, то этого бы не произошло.Насчет этого ты заблуждаешься, если по ссылке ничего нет, значит там ничего нет, не нужно туда подсовывать какие-то данные, юзеры будут путаться от непредсказуемого поведения форума. Страницы нет, а посты есть :gg:

Изменено web_demon (5.04 / 18:50) (всего 2 раза)
Наверх  Всего сообщений: 2594
Фильтровать сообщения
Поиск по теме
Файлы топика (80)