Вывод последних сообщений с форума в профиль by Apocalypse для uCoz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<div id="apogetposts">Загрузка последних постов...</div> <script> $.get('/forum/0-0-1-3-$_USER_ID$/', function(a) { var apocontainer = $('#apogetposts'); apocontainer.html(''); for(i=0;i<5;i++) { apocontainer.prepend('<span id="apospan' + i + '"></span>'); apocururl = $('.apoforumtitle', a).eq(i).attr('id'), apocurtitle = $('.apoforumtitle', a).eq(i).text(); apogettheme(apocururl, apocurtitle, apocontainer, i); }; }); function apogettheme(a, b, c, q) { $.get(a, function(d) { var apolastpost = $('.aponame[uid="$_USER_ID$"]:last', d), apolastpostid = apolastpost.attr('uid'), apolastposttime = apolastpost.attr('time'), apolastposttext = apolastpost.html(); if(apolastposttext != undefined) { c.find('#apospan' + q).html('<fieldset style="text-align:left;border:1px dashed #aaa;margin-top:10px;"><legend>' + '[' + apolastposttime + '] <a href="' + a + '">' + b + '</a></legend>' + apolastposttext + '</fieldset>'); }; }); }; // imapo.ru (c) 2017 </script> |
1 |
<span class="apoforumtitle" id="$LAST_POST_LINK$">$THREAD_TITLE$</span> |
1 |
<span class="aponame" uid="$UID$" time="$DATE$ в $TIME$">$MESSAGE$</span> |
Спасибо, огромное, всё выводит... Но немного не правильно
Вот скриншот
http://s46.radikal.ru/i111/1709/9a/feb748143e57.png
Видишь там первое сообщение
А, и вместо
Можно использовать
Так то да, просто привык работать с абсолютными путями, не надеясь на операторы
А что там не так?
там первое сообщение почему-то идёт 07.09.2017 а следующее 15.09.2017, 31.07.2017. 07 должно идти перед 15, а оно почему-то первое!
получается выводит немного неверно. и так у всех пользователей, первое сообщение выводится не понятно с какой датой, а остальные правильно
Нужно добавить сортировку:
Там в другом ошибка была
Проверил даже. Это ошибка. Он берёт самые первые(старые) 5 сообщейний пользователя и теперь ещё и переворачивает их, делая вид сортировки по дате =)
Нашёл одну ошибку и исправил алгоритм. Получалось, что выполнялись параллельно сразу 5 запросов и, какой первый был выполнен, вставал на первое место, второй - на второе и выходило, что темы всегда выводились в случайном порядке. В исправленной версии скрипта сортировка будет всегда правильной. Описание материала и все коды отредактированы
P.S. Также была ошибка в том, что у всех пользователей выводились последние записи только того пользователя, который авторизовался на сайте. Также исправлено
P.P.S. Спасибо за обращение. Если ещё будут вопросы по скрипту - постараюсь на них ответить
На будущее дам формулу вывода последних сообщений пользователя:
Это в ленточном варианте? Класс. Получается, я написал велосипед? XD
Щас гляжу - оттуда так просто тоже не получится нормально вытащить то, что нужно заказчику, так как там на одной или нескольких страницах могут выводиться сообщения из одного и того же топика, а заказчику нужно было последние несколько тем и последние сообщения автора из них. Значит и не велосипед писал вовсе. Аж полегчало
Ох уж этот деревянный uCoz =)
Apo, У пользователей всё ровно тянет в разнобой, да ещё почему-то на один пост меньше. То есть не 5-ть а 4-ре
Вот скриншот http://s019.radikal.ru/i600/1709/72/525ad5f4f5ca.png
На моей страничке всё правильно тянет, но сортировка постов почему-то в обратном порядке
Вот скриншот http://s019.radikal.ru/i614/1709/2b/216a9a549754.png
Apo, А почему посты нельзя тянуть от сюда /forum/0-0-1-42-$_USER_ID$?o3=1
Я написал об этом выше: http://imapo.ru/последние-сообщения-форума-профиль-ucoz/#comment-2305
А, понял извини! А что там с тем что тянет в разнобой у пользователей, получилось что-то выяснить?
http://imapo.ru/последние-сообщения-форума-профиль-ucoz/#comment-2302
о, возьму себе, спасибо
Пожалуйста!
А как поставить это в модальное окно или в любое другой блок сайта?
В любой другой блок сайта можно поставить первый код. Чтобы засунуть в модальное окно, нужно слегка изменить код. Ты хотел в uWind окошко запульнуть?
Вот такие окна, туда хотел:
http://apo.ucoz.com/load/prochie_skripty/jquery/sozdajom_modalnye_okna_s_plavnym_pojavleniem_i_ischezaniem_na_jquery_dlja_ucoz/3-1-0-416
Там же всё элементарно. Вставляешь мой код между <div id="static1" style="display:none;" class="window" align="center"> и </div>