Romych
users.orderedList внутри просто вызывает users.get. last_post пока есть только на этом форуме.
Возможно стоит сократить коды страниц, используя ....
Сообщений 41 страница 60 из 77
Поделиться41Ср, 29 Июл 2020 21:00:32
Поделиться42Ср, 29 Июл 2020 21:26:04
Задача по поиску давно не писавших облегчилась лишь частично, last_post нужно добавить и в метод users.orderedList и в сортировку sort_by метода users.orderedList (<-- под ссылкой описание существующих параметров метода), тогда облегчится задачу админу ролевого на 100%
получать список можно же и по убыванию
Да, было б отлично!
Поделиться43Ср, 29 Июл 2020 22:52:33
Тут в процессе обсуждений на Лиле выявили что неплохо бы из API иметь инфу о доступе к разделу конкретной группы/групп ( К примеру скрипт магазина ролевых принадлежностей расположен типично на своей странице, инфа о покупке поститься аяксом со странице в какю-то тему форума, порой бывает что эта страница для конкретной группы недоступна на запись, тут надо бы уведомлять всплывашкой
Отредактировано Deff (Ср, 29 Июл 2020 22:54:39)
Поделиться44Чт, 30 Июл 2020 18:48:22
Наконец нашел время посмотреть что вы хотите от posts.getPosts (здесь больше подойдет метод просто posts.get). И как-то не вижу я разницы с парсингом страницы... HTML поста, HTML профиля, HTML голосования - это как раз на странице и формируется. API точно не для этого, он отдельные параметры должен возвращать, а не HTML.Получается, это просто viewtopic.php, только без хидера и футера ) Ну еще с возможность задавать id постов, а не топика.
Поделиться45Чт, 30 Июл 2020 20:13:33
HTML поста
а если только текст?
Поделиться46Чт, 30 Июл 2020 20:13:45
kernel
Теоретически, если представить себе такую гипотетическую вещь, как отдельное мобильное приложение для форумов, это придётся делать всё равно...
Но да, это уже совсем дебри.
Но вот получать содержимое отдельного сообщения по id - это всё-таки вещь полезная, кмк, особенно если каким-то образом закешировать ответ... Можно будет сотворить такую интересную вещь как мини-база данных.
Поделиться47Чт, 30 Июл 2020 21:33:25
Теоретически, если представить себе такую гипотетическую вещь, как отдельное мобильное приложение для форумов, это придётся делать всё равно...
Ну нет, в мобильном приложении HTML не нужен, там свой рендеринг )
Но вот получать содержимое отдельного сообщения по id - это всё-таки вещь полезная, кмк, особенно если каким-то образом закешировать ответ... Можно будет сотворить такую интересную вещь как мини-база данных.
С этим не спорю, то я даже сделал на этом форуме в базовой реализации - https://forum.mybb.ru/api.php?method=pos … _id=960545
Можно указать и несколько post_id, можно указать и topic_id. Здесь весь вопрос в возвращаемых данных.
Поделиться48Чт, 30 Июл 2020 22:35:37
https://mybb.ru/forumapi/#method-post добавил описание. Теперь потенциально перенести сообщений с mybb на какую-то другую платформу становится гораздо проще, теперь не нужно парсить каждую страницу ) Пока не уверен, что этот метод полезен будет для какой-либо другой цели в текущем виде, но рад буду ошибиться.
Поделиться49Чт, 30 Июл 2020 23:13:37
добавил описание.
Что-то пока не работает параметр topic_id Перечисленные через запятую ID топиков.
по отдельности каждый топик да
https://forum.mybb.ru/api.php?method=po … lds=rating
https://forum.mybb.ru/api.php?method=po … lds=rating
перечисленные через запятую ID топиков выдают инфу только по первому топику
Поделиться50Чт, 30 Июл 2020 23:18:48
kernel
Ну я вообщем то я планировал получение аяксом как обычную HTML страницу топика(или поисковую по сообщениям) без заголовка и футера(ну или с пустым head и футером) и вид поста как обычный HTML вид в теме ну и с полным профилем в сообщении... Пока создание и вставка в контент страницы нормального поста из вида этой посылки https://forum.mybb.ru/api.php?method=pos … _id=960545 слишком затруднительно
Отредактировано Deff (Чт, 30 Июл 2020 23:21:31)
Поделиться51Чт, 30 Июл 2020 23:24:45
kernel
Ну я вообщем то я планировал получение аяксом как обычную HTML страницу топика(или поисковую по сообщениям) без заголовка и футера(ну или с пустым head и футером) и вид поста как обычный HTML вид в теме ну и с полным профилем в сообщении... Пока создание и вставка в контент страницы нормального поста из вида этой посылки https://forum.mybb.ru/api.php?method=pos … _id=960545 слишком затруднительно
Хорошо, это не в рамках API, но думаю реализуемо. Посмотрю как можно сделать.
Поделиться52Чт, 30 Июл 2020 23:26:48
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 топиков выдают инфу только по первому топику
Конечно, limit=1 и ограничивает первым топиком (а точнее, постом, он может быть и не из первого топика). Это не лимит на каждый топик, это общее количество выводимых записей.
Поделиться53Чт, 30 Июл 2020 23:32:25
Хорошо, это не в рамках API, но думаю реализуемо. Посмотрю как можно сделать.
Ну по идее это поиск по ID сообщений, только спец запрос только для Аяксов скриптом...
Мне показалась что реализовать запрос как метод API для использования скриптом - удобнее, хотя если есть другая идея формы запроса - в принципе пофег...
Ну и пустой head и футер отдаваемой страницы позволяют ускоренно вклеивать одиночные посты в текущую уже существующую страницу на лету, актуально для блогов(ибо ответ такой обрезанной страницы типично оч короткий несколько ms)
Отредактировано Deff (Чт, 30 Июл 2020 23:34:02)
Поделиться54Чт, 30 Июл 2020 23:47:05
Конечно, 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"}]}
Поделиться55Чт, 30 Июл 2020 23:52:45
Romych
Если очень нужно, то можно сделать отдельно. Для такого нужен другой запрос к базе данных с GROUP BY. Либо по запросу для каждого топика.
Поделиться56Пт, 31 Июл 2020 00:02:02
Если очень нужно, то можно сделать отдельно. Для такого нужен другой запрос к базе данных с GROUP BY. Либо по запросу для каждого топика.
Просто тут давно уже просили сделать рейтинги темы, которые берутся из оценки пользователями первого поста темы.
Т.е. у пользователей появляется азарт создавать уникальные темы, которые могут набрать максимальное количество баллов (оценок за первый пост автору темы).
Но не думал, что это так заморочено по запросам к базе данных
Поделиться57Пт, 31 Июл 2020 04:14:04
Согласен с Romych
И от себя хотелось бы добавить
Авто ап темы по сообщениям, ну и рейтингу.
Тоесть:
Чем больше сообщений, тем выше она в темах.
И далее вниз по уменьшению
Короче топ темы
Поделиться58Пт, 31 Июл 2020 06:59:41
Чем больше сообщений, тем выше она в темах.
Само собой, это должно настраиваться, т.к. многим удобно сортировать темы не по кол-ву постов, а по дате последнего поста. Нафига мне наверху тема пятилетней давности, даже если у нее максимальное по отношению к другим кол-во постов.
Поделиться59Пт, 31 Июл 2020 16:48:34
другой запрос к базе данных с GROUP BY
имеется ввиду, что понадобится параметр &group_id= и далее номера групп, через запятую?
Поделиться60Пт, 31 Июл 2020 16:54:23
kernel написал(а):другой запрос к базе данных с GROUP BY
имеется ввиду, что понадобится параметр &group_id= и далее номера групп, через запятую?
Нет, имеется запрос к базе данных с группировкой (см. SQL). При таком типе запросов база данных считывает все запрашиваемые посты, создает временную таблицу, сортирует их, а затем все записи с одинаковым forum_id объединяет, оставляя только первый вариант. Не самый оптимальный метод, так что при не очень большом количестве топиков легче делать на каждый топик запрос, запрашивая посты, сортируя по id и ограничивая первым пунктом. Еще лучше было бы записывать в таблицу топиков id первого поста и тогда достать его оттуда было бы просто, но это само по себе не очень маленькая задача - нужно делать скрипт модификации базы данных (добавление поля), затем во всех нужных местах (создание топика, удаление поста) отдельным запросом менять id первого поста. Скорей всего, рано или поздно сделаю по последнему варианту, добавлю это поле в топики, неудобно каждый раз вычислять первый пост отдельно.