Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Сделаем сервис лучше » Возможно стоит сократить коды страниц, используя ....


Возможно стоит сократить коды страниц, используя ....

Сообщений 41 страница 60 из 77

41

Romych
users.orderedList внутри просто вызывает users.get. last_post пока есть только на этом форуме.

+1

42

Romych написал(а):

Задача по поиску давно не писавших облегчилась лишь частично, last_post нужно добавить и в метод users.orderedList и в сортировку sort_by метода users.orderedList (<-- под ссылкой описание существующих параметров метода), тогда облегчится задачу админу ролевого на 100%
получать список можно же и по убыванию

Да, было б  отлично!

+1

43

Тут в процессе обсуждений на Лиле выявили что неплохо бы из API иметь инфу о доступе к разделу конкретной группы/групп ( К примеру скрипт магазина ролевых принадлежностей расположен типично на своей странице, инфа о покупке поститься аяксом со странице в какю-то тему форума, порой бывает что эта страница для конкретной группы недоступна на запись, тут надо бы уведомлять всплывашкой

Отредактировано Deff (Ср, 29 Июл 2020 22:54:39)

0

44

Наконец нашел время посмотреть что вы хотите от posts.getPosts (здесь больше подойдет метод просто posts.get). И как-то не вижу я разницы с парсингом страницы... HTML поста, HTML профиля, HTML голосования - это как раз на странице и формируется. API точно не для этого, он отдельные параметры должен возвращать, а не HTML.Получается, это просто viewtopic.php, только без хидера и футера ) Ну еще с возможность задавать id постов, а не топика.

0

45

kernel написал(а):

HTML поста

а если только текст?

0

46

kernel
Теоретически, если представить себе такую гипотетическую вещь, как отдельное мобильное приложение для форумов, это придётся делать всё равно...
Но да, это уже совсем дебри.

Но вот получать содержимое отдельного сообщения по id - это всё-таки вещь полезная, кмк, особенно если каким-то образом закешировать ответ... Можно будет сотворить такую интересную вещь как мини-база данных.

0

47

kozhilya написал(а):

Теоретически, если представить себе такую гипотетическую вещь, как отдельное мобильное приложение для форумов, это придётся делать всё равно...

Ну нет, в мобильном приложении HTML не нужен, там свой рендеринг )

kozhilya написал(а):

Но вот получать содержимое отдельного сообщения по id - это всё-таки вещь полезная, кмк, особенно если каким-то образом закешировать ответ... Можно будет сотворить такую интересную вещь как мини-база данных.

С этим не спорю, то я даже сделал на этом форуме в базовой реализации - https://forum.mybb.ru/api.php?method=pos … _id=960545
Можно указать и несколько post_id, можно указать и topic_id. Здесь весь вопрос в возвращаемых данных.

0

48

https://mybb.ru/forumapi/#method-post добавил описание. Теперь потенциально перенести сообщений с mybb на какую-то другую платформу становится гораздо проще, теперь не нужно парсить каждую страницу ) Пока не уверен, что этот метод полезен будет для какой-либо другой цели в текущем виде, но рад буду ошибиться.

+2

49

kernel написал(а):

добавил описание.

Что-то пока не работает параметр topic_id Перечисленные через запятую ID топиков.
по отдельности каждый топик да
https://forum.mybb.ru/api.php?method=po … lds=rating
https://forum.mybb.ru/api.php?method=po … lds=rating

перечисленные через запятую ID топиков выдают инфу только по первому топику

https://forum.mybb.ru/api.php?method=po … lds=rating

0

50

kernel
Ну я вообщем то я планировал получение аяксом как обычную HTML страницу топика(или поисковую по сообщениям) без заголовка и футера(ну или с пустым head и футером) и вид поста как обычный HTML вид в теме ну и с полным профилем в сообщении... Пока создание и вставка в контент страницы нормального поста из вида этой  посылки  https://forum.mybb.ru/api.php?method=pos … _id=960545 слишком затруднительно  :'(

Отредактировано Deff (Чт, 30 Июл 2020 23:21:31)

0

51

Deff написал(а):

kernel
Ну я вообщем то я планировал получение аяксом как обычную HTML страницу топика(или поисковую по сообщениям) без заголовка и футера(ну или с пустым head и футером) и вид поста как обычный HTML вид в теме ну и с полным профилем в сообщении... Пока создание и вставка в контент страницы нормального поста из вида этой  посылки  https://forum.mybb.ru/api.php?method=pos … _id=960545 слишком затруднительно  :'(

Хорошо, это не в рамках API, но думаю реализуемо. Посмотрю как можно сделать.

+1

52

Romych написал(а):
kernel написал(а):

добавил описание.

Что-то пока не работает параметр topic_id Перечисленные через запятую ID топиков.
по отдельности каждый топик да
https://forum.mybb.ru/api.php?method=po … lds=rating
https://forum.mybb.ru/api.php?method=po … lds=rating

перечисленные через запятую ID топиков выдают инфу только по первому топику

https://forum.mybb.ru/api.php?method=po … lds=rating

Конечно, limit=1 и ограничивает первым топиком (а точнее, постом, он может быть и не из первого топика). Это не лимит на каждый топик, это общее количество выводимых записей.

0

53

kernel написал(а):

Хорошо, это не в рамках API, но думаю реализуемо. Посмотрю как можно сделать.

Ну по идее это поиск по ID сообщений, только спец запрос только для Аяксов скриптом...
Мне показалась что реализовать запрос как метод API  для использования скриптом - удобнее, хотя если есть другая идея формы запроса - в принципе пофег...
Ну и пустой head и футер отдаваемой страницы позволяют ускоренно вклеивать одиночные посты в текущую уже существующую страницу на лету, актуально для блогов(ибо ответ такой обрезанной страницы типично оч короткий несколько ms)

Отредактировано Deff (Чт, 30 Июл 2020 23:34:02)

0

54

kernel написал(а):

Конечно, limit=1 и ограничивает первым топиком (а точнее, постом, он может быть и не из первого топика). Это не лимит на каждый топик, это общее количество выводимых записей.

Блин, жалко что нельзя из каждого топика выбрать только первый пост, и пока различить где в выдаваемом ответе заканчиваются данные от одного топика, и где начинаются от другого, можно только с добавлением в запрос topic_id
https://forum.mybb.ru/api.php?method=po … g,topic_id
понятно, что получаемый массив можно отсортировать

Код:
{"response":[{"rating":"6","topic_id":"37409"},{"rating":"10","topic_id":"37409"},{"rating":"5","topic_id":"37409"},{"rating":"11","topic_id":"37409"},{"rating":"4","topic_id":"37409"},{"rating":"4","topic_id":"37409"},{"rating":"11","topic_id":"37409"},{"rating":"8","topic_id":"37409"},{"rating":"19","topic_id":"37409"},{"rating":"20","topic_id":"37409"},{"rating":"15","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"1","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"},{"rating":"0","topic_id":"39134"}]}

но в идеале было бы здорово получить первый пост каждой темы не зная id первого поста заранее

Код:
{"response":[{"rating":"6","topic_id":"37409"},{"rating":"15","topic_id":"39134"}]}

0

55

Romych
Если очень нужно, то можно сделать отдельно. Для такого нужен другой запрос к базе данных с GROUP BY. Либо по запросу для каждого топика.

+1

56

kernel написал(а):

Если очень нужно, то можно сделать отдельно. Для такого нужен другой запрос к базе данных с GROUP BY. Либо по запросу для каждого топика.

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

+2

57

Согласен с  Romych :yep:

И от себя хотелось бы добавить :tomato:
Авто ап темы по сообщениям, ну и рейтингу.
Тоесть:
Чем больше сообщений, тем выше она в темах.
И далее вниз по уменьшению


Короче топ темы

0

58

МАЧОнаДАЧЕ написал(а):

Чем больше сообщений, тем выше она в темах.

Само собой, это должно настраиваться, т.к. многим удобно сортировать темы не по кол-ву постов, а по дате последнего поста. Нафига мне наверху тема пятилетней давности, даже если у нее максимальное по отношению к другим кол-во постов.

0

59

kernel написал(а):

другой запрос к базе данных с GROUP BY

имеется ввиду, что понадобится параметр &group_id= и далее номера групп, через запятую?

0

60

Romych написал(а):
kernel написал(а):

другой запрос к базе данных с GROUP BY

имеется ввиду, что понадобится параметр &group_id= и далее номера групп, через запятую?

Нет, имеется запрос к базе данных с группировкой (см. SQL). При таком типе запросов база данных считывает все запрашиваемые посты, создает временную таблицу, сортирует их, а затем все записи с одинаковым forum_id объединяет, оставляя только первый вариант. Не самый оптимальный метод, так что при не очень большом количестве топиков легче делать на каждый топик запрос, запрашивая посты, сортируя по id и ограничивая первым пунктом. Еще лучше было бы записывать в таблицу топиков id первого поста и тогда достать его оттуда было бы просто, но это само по себе не очень маленькая задача - нужно делать скрипт модификации базы данных (добавление поля), затем во всех нужных местах (создание топика, удаление поста) отдельным запросом менять id первого поста. Скорей всего, рано или поздно сделаю по последнему варианту, добавлю это поле в топики, неудобно каждый раз вычислять первый пост отдельно.

+2


Вы здесь » Единый форум поддержки » Сделаем сервис лучше » Возможно стоит сократить коды страниц, используя ....