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

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

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


Вы здесь » Единый форум поддержки » Справочная » Экспорт данных с форума


Экспорт данных с форума

Сообщений 21 страница 40 из 44

Перевести1

Итак, как вы уже знаете, появилась возможность экспорта списка последних тем (или сообщений темы) с форумов в форматах RSS и Atom.
Поддержка форматов была еще несколько расширена, итого:

MyBB Forum API
Современный и удобный способ по работе с данными форума - https://mybb.ru/forumapi
Тема с обсуждением - Обсуждение API MyBB

RSS
http://forum.mybb.ru/export.php?type=rss
Atom
http://forum.mybb.ru/export.php?type=atom
XML
http://forum.mybb.ru/export.php?type=xml
JavaScript
http://forum.mybb.ru/export.php?type=js

Так же есть необязательный параметр max, который можно добавить к ссылке.
Он отвечает за количество выводимых заголовков. Но не более 50. Если не задан - равен 15.
Пример: http://forum.mybb.ru/export.php?type=rss&max=30 - выведет 30 последних тем с форума в формате RSS.

О RSS и Atom мы уже поговорили, повторяться не буду, нужно собрать все в одну тему.
XML стоит использовать только тем, кто знает для чего он нужен.

Расскажу немного для чего нужен экспорт в формате JavaScript:
Допустим у Вас есть сайт и вы хотите вывести список новых тем с форума прямо на страницах сайта.
Тогда можно использовать подобный скрипт (прошу не пинать - в js не силен, было важно дать основу):

Код:
<script src="http://forum.mybb.ru/export.php?type=js&max=10" type="text/javascript"></script>
<script type="text/javascript">
// переменная будет содержать отформатированный html
var html='';
// метка времени
var ts = '';
// месяц
var mo = '';
// час
var hh = '';
// минуты
var mm = '';
// начальный элемент массива
var i = 0;
for(i=0;i<content.length;i++) {
	ts = new Date();
	ts.setTime(1000*content[i][0]);
	mo = ts.getMonth()+1;
	if (mo<10) mo='0'+mo;
	hh = ts.getHours();
	mm = ts.getMinutes()+'';
	if (mm<10) mm='0'+mm;
	ts = ts.getDate()+'.'+mo+' '+hh+':'+mm;
	/*
	content[i][1] - автор
	content[i][2] - ссылка
	content[i][3] - заголовок
	*/
	html+='<div>'+ts+' '+content[i][1]+' <a href="'+content[i][2]+'" target="_blank">'+content[i][3]+'</a><br /></div>';
}
// вывод на экран
document.write(html);
</script>

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

Собственно в этой теме прошу добавлять свои идеи, примечания, готовые скрипты, полезную информацию о rss/atom с дальнейшей целью собрать из кусочков информации полноценный FAQ.

+6

Перевести21

Мих@лыч
Как я заметил, не на всех партнерках она работает.
Поэтому у многих не работает скрипт последних 10 сообщений

+1

Перевести22

ну работает скрипт наконец-то...тока не обновляется...в смысле не появляются в нём новые сообщения....требуется какое-то время или в скрипте добавить шось надоть? http://mybb.ru/f/collection/0208.gif

0

Перевести23

вот я туплю...это же только темы новые добавляются...а новые сообщения нет..а есть скрипт для  именно сообщений.... последних?

0

Перевести24

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

вот я туплю...это же только темы новые добавляются...а новые сообщения нет..а есть скрипт для  именно сообщений.... последних?

Код:
<script src="/export.php?type=js&max=10" type="text/javascript"></script>
<script type="text/javascript">
var html='';
var ts = '';
var mo = '';
var hh = '';
var mm = '';
var i = 0;
for(i=0;i<content.length;i++) {
	ts = new Date();
	ts.setTime(1000*content[i][0]);
	mo = ts.getMonth()+1;
	if (mo<10) mo='0'+mo;
	hh = ts.getHours();
	mm = ts.getMinutes()+'';
	if (mm<10) mm='0'+mm;
	ts = ts.getDate()+'.'+mo+' '+hh+':'+mm;
html2="</tr></tbody></table></div>"
html1="<h2>Последние 10 сообщений форума</h2><div class=\"container\"><table cellspacing=\"0\" width=100%><thead><tr><th scope=\"col\">Автор</th><th scope=\"col\">Время</th><th scope=\"col\">Последнее сообщение</th></tr></thead><tbody class=\"hasicon\">"
html+='<tr><td>'+content[i][1]+'</td><td class=\"tc2\">'+ts+'<td class=\"tcr\"><a href=\"'+content[i][2]+'\" target=\"_blank\">'+content[i][3]+'</a><br /></td></tr>';
}

var arr=document.getElementsByTagName("div")
i=0
str=document.URL
while(arr[i] ){
if((str.substring(str.lastIndexOf('/')+1)=="" || str.substring(str.lastIndexOf('/')+1)=="index.php") && arr[i].className=="statscon"){
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML=""+html1+""+html+""+html2+"<br><h2>Общая статистика</h2>"+name+""
}
i++
}
</script>

-1

Перевести25

:...ПрИнЦеССКа...:
Бред написала) Прочти ее пост внимательно)

0

Перевести26

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

Код:
<script src="http://rondo.mybb.org.il/export.php?type=js&max=10" type="text/javascript"></script>
<script type="text/javascript">
var html='';
var ts = '';
var mo = '';
var hh = '';
var mm = '';
var i = 0;
for(i=0;i<content.length;i++) {
	ts = new Date();
	ts.setTime(1000*content[i][0]);
	mo = ts.getMonth()+1;
	if (mo<10) mo='0'+mo;
	hh = ts.getHours();
	mm = ts.getMinutes()+'';
	if (mm<10) mm='0'+mm;
	ts = ts.getDate()+'.'+mo+' '+hh+':'+mm;
	/*
	content[i][1] - автор
	content[i][2] - ссылка
	content[i][3] - заголовок
	*/
	html+='<div>'+ts+' '+content[i][1]+' <a href="'+content[i][2]+'" target="_blank">'+content[i][3]+'</a><br /></div>';
}
document.write(html);
</script>

а вот страница, где он размещён
может где-то ошибочка вкралась....помогите разобраццо :tomato:

Отредактировано Ama (Пн, 19 Май 2008 12:01:46)

0

Перевести27

Ama
В чем проблема я не понимаю?
Нормально все отображается на главной странице сайта...

0

Перевести28

где-ж нормально? когда последнее отображающееся сообщение 15-го мая...а сегодня и вчера там что сообщений не было? были...и даже новые темы были

0

Перевести29

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

где-ж нормально? когда последнее отображающееся сообщение 15-го мая...а сегодня и вчера там что сообщений не было? были...и даже новые темы были

а, ну дык не от скрипта зависит, а от периодичности обновления данных rss)

0

Перевести30

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

не от скрипта зависит, а от периодичности обновления данных rss)

о как! а эту периодичность можно как-то отредактировать? потому что 10 сообщений в статистике тоже отображаются 15-м мая, а свежих нету.....хотя де факто они есть

0

Перевести31

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

о как! а эту периодичность можно как-то отредактировать? потому что 10 сообщений в статистике тоже отображаются 15-м мая, а свежих нету.....хотя де факто они есть

Нет, к сожалению это никак не исправить.. минус конечно, но ... не в моих руках власть над файлом)

0

Перевести32

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

Нет, к сожалению это никак не исправить..

нууууу... тогда в чём смысл этой статистики, если она обновляется раз в неделю http://mybb.ru/f/collection/0225.gif

0

Перевести33

а что FF не отображает вообще этот скрипт экспорта? вот что он выдаёт вместо скрипта

NaN.NaN NaN:NaN undefined undefined

...есть решение как исправить?

0

Перевести34

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

а что FF не отображает вообще этот скрипт экспорта?

что за FF?

0

Перевести35

Ama
Куда ставили скрипт Экспорта и главное как? Обычно такое нан, значит что-то неверно и не туда вот и все.

+1

Перевести36

Ama
Если не отображаются какие-то топики - значит к ним закрыт доступ гостям.
У экспорта задачи другие. Это для размещения на своем сайте. Не для размещения на форуме это!

+2

Перевести37

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

У экспорта задачи другие. Это для размещения на своем сайте. Не для размещения на форуме это!

Не соглашусь, Экспорт данных прекрасно работает в Объявлении правдо не на всех доменных именах данного сервиса и не у всех партнёров.

+1

Перевести38

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

что за FF?

Firefox Explorer сокращённо

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

Если не отображаются какие-то топики - значит к ним закрыт доступ гостям.У экспорта задачи другие. Это для размещения на своем сайте. Не для размещения на форуме это!

Про гостей понятно, спасибо,теперь знаю...а код экспорта стоит на сайте, не на форуме...я хоть и чайник. но всё-таки скаким никаким опытом http://mybb.ru/f/collection/0216.gif

0

Перевести39

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

Firefox Explorer сокращённо

Это что за клон лисы с ослом?? :huh:

+2

Перевести40

при чём здесь клоны? Explorer - это браузер, обозреватель интернета, программа для гуляний по интернету..их кстати больше чем 3 известных..моя ошибка втом, что написала с большой буквы..вот любишь ты Михалыч цепляться....

0


Вы здесь » Единый форум поддержки » Справочная » Экспорт данных с форума