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

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

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


Вы здесь » Единый форум поддержки » Администрирование форума » Новостная лента RSS


Новостная лента RSS

Сообщений 1 страница 13 из 13

1

Обратил внимание на наличие на форуме канала RSS
Многие сервисы в интернет предоставляют возможность размещения новостей на странице основного сайта. В результате проб различных из них обратил внимание на то, что у некоторых скрипт подцепляет все сообщения на форуме, всех категорий, а у некоторых невозможно масштабировать поле в котором размещается новость.. Сегодня нашел js скрипт, который если даже масштабируется, показывает только одну новость.  Есть ли у кого скрипты лишенные этих недостатков?

0

2

Владимир Седов
Дайте пример наилучшего на Ваш взгляд скрипта... мож попробую переделать

0

3

Feed API, вставьте следующий скрипт в раздел head своей веб-страницы, ниже области мета тегов, перед закрывающимся тегом head:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script src="http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.js"
type="text/javascript"></script>

<style type="text/css">
@import url("http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.css");

#feedControl {
margin-top : 10px;
margin-left: auto;
margin-right: auto;
width : 440px;
font-size: 12px;
color: #9CADD0;
}
</style>
<script type="text/javascript">
function load() {
var feed ="http://feeds.bbci.co.uk/news/world/rss.xml";
new GFdynamicFeedControl(feed, "feedControl");

}
google.load("feeds", "1");
google.setOnLoadCallback(load);
</script>

следующий код в нужную область страницы (там, где должна быть лента):

<div id="body">
<div id="feedControl">Loading...</div>
</div>
источник

0

4

в строке
@import url("http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.css"); можно поставить УРЛ форума

живой пример: http://crossroads-of-history.ru

Отредактировано Владимир Седов (Чт, 7 Июл 2016 13:58:22)

0

5

Владимир Седов
Сделайте скриншот, поправьте в ФШ - как должно быть, ибо не совсем понял, что не устраивает...

0

6

Сейчас у меня вот так: https://yadi.sk/i/55BGTJZut5imM при обновлении все равно выходит только 1 новость,  хотя в коде http://crossroadsofhistory.roletalk.ru/ … &fid=9 новостей 2

Отредактировано Владимир Седов (Чт, 7 Июл 2016 14:27:48)

0

7

Владимир Седов
https://yadi.sk/i/55BGTJZut5imM, запятую уберите, а то не открывается
http://sa.uploads.ru/t/HVodN.png

0

8

Владимир Седов
Ни наю, у меня показывает две
http://s8.uploads.ru/FnVsP.gif

0

9

Подтверждаю, 2 новости видно.
http://s2.uploads.ru/t/YpS15.jpg

поставил себе на тестовый, тоже все темы отображаются:
http://sh.uploads.ru/t/Gb7PC.jpg

Отредактировано ACT3255 (Чт, 7 Июл 2016 14:52:38)

+1

10

очевидно конфликт скриптов на основном сайте.
Пустил другой браузер, все пошло как у Вас

Отредактировано Владимир Седов (Чт, 7 Июл 2016 15:07:46)

0

11

Владимир Седов
Почему ?, у меня отображается Две темы - Вам наверно нун очистить Кеш -куки  в браузере ( *а сколько должно ?

0

12

Владимир Седов

Старое решение для Фаэратиума. Форум заглох, а скрипт остался.

Код:
<div class="head"><p>Новости форума</p></div><br>
<div class="content">
<div class="annonceItemExample" style="display: none;">
  <div class="item" id="$id$">
    <div class="desc"><p id="author">$author$</p><p id="date"><a href="$link$">$date$</a></p></div>
    <div class="ajaxcontent">$content$</div>
  </div>
</div>
<div class="ajaxresult"><center><strong>Загрузка...</strong><br>
<img src="http://s3.uploads.ru/HNvKW.gif" /></center></div>
</div>
<style>
.ajaxresult div.item div.desc p#author { float: left; }
.ajaxresult div.item div.cont span.hide { display: none; }
</style>

<script>
String.prototype.modifreplace = function(pat, to) { var s = this.toString().replace(pat, to); if (s != this.toString()) { return s.modifreplace(pat, to); } else { return this.toString(); } }
function getAnnouncementHTML(xml) {
  var obj = $('<div></div>').html(xml),
    exit = $('.loadcont');
  result = '';
  $('channel item', obj).each(function() {
    var html = $('.annonceItemExample').html(), rss={};
    var id = $('guid', this).html(); rss.id=id.slice(-(id.length-id.indexOf('#')));
    rss.author = /\((.*?)\)/gi.exec($('author', this).html())[1];
    rss.link = $('guid', this).html();
    rss.date = $('pubDate', this).html();
    rss.content = $('description', this).html().modifreplace('&lt;', '<').modifreplace('&gt;', '>').modifreplace(/\[adm=.*?\](.*?)\[\/adm\]/gi, '<strong>$1</strong>');
    result += html.modifreplace(/\$(.*?)\$/gi, function(str, p, offset, s) { return rss[p]? rss[p]: '$p$' });
  });
  result = result.replace(/&quot;/gi, '"');
  $('.ajaxresult').html(result);
}
function getXmlHttp() { var xmlhttp; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; }} if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; }

var xmlhttp = getXmlHttp(), xmlResult = '';
xmlhttp.open('GET', '/export.php?type=rss&tid=10&max=10', true);
xmlhttp.onreadystatechange = function() {
  if (xmlhttp.readyState == 4) {
     if(xmlhttp.status == 200) {
       getAnnouncementHTML(xmlhttp.responseText);
     }
  }
};
xmlhttp.send(null);
</script>

В строке

xmlhttp.open('GET', '/export.php?type=rss&tid=10&max=10', true);

замените красное на id нужной вам темы

+2

13

Удаление куков помогло! Спасибо!

0


Вы здесь » Единый форум поддержки » Администрирование форума » Новостная лента RSS