Как вставить яндекс новости в обычный html
Новая тема Написать ответ
# Вс Авг 19, 2012 9:49 pmDK Зарег.: 18.06.2008 ; Сообщ.: 2425Ответить с цитатой
есть обычная страничка на сайте без движка, хочу показывать ленту яндекс новостей
# Вс Авг 19, 2012 10:03 pmbanzai Зарег.: 24.05.2007 ; Сообщ.: 729Ответить с цитатой
На http://news.yandex.ru/export.html внизу отдается виджет на JS, следовательно в любую страничку можно вставить.
Выставить тематику: "Главные новости" и получить код. Такое не подходит ?
# Вс Авг 19, 2012 10:33 pmDK Зарег.: 18.06.2008 ; Сообщ.: 2425Ответить с цитатой
наверное подходит, спасибо. важный момент, нужны по городам Sad
# Вс Авг 19, 2012 11:15 pmbanzai Зарег.: 24.05.2007 ; Сообщ.: 729Ответить с цитатой
гм, по странам видел, а вот по городам по моему нет
# Пн Авг 20, 2012 3:44 amDK Зарег.: 18.06.2008 ; Сообщ.: 2425Ответить с цитатой
http://news.yandex.ru/Vologda/index.html вот об этом я говорю )
# Пн Авг 20, 2012 7:40 amToulan Зарег.: 12.07.2012 ; Сообщ.: 3172Ответить с цитатой
А какой профит от вставки новостей на свой сайт? Поисковики будут воспринимать это как ваш контент?
# Пн Авг 20, 2012 11:55 amDK Зарег.: 18.06.2008 ; Сообщ.: 2425Ответить с цитатой
профита никакого, просто бзик
# Пн Авг 20, 2012 5:53 pmHello_Kitty Зарег.: 30.04.2007 ; Сообщ.: 10763Ответить с цитатой
DK, города отдают свои отдельные rss-потоки тоже, внизу на той странице что ты дал, вижу http://news.yandex.ru/Vologda/index.rss
Надо копать отсюда, как-то заинклудить наверное такое можно в html.
# Пн Авг 20, 2012 9:55 pmDK Зарег.: 18.06.2008 ; Сообщ.: 2425Ответить с цитатой
может есть какойнить пхп скрипт которые эту херню может дергать?
# Ср Авг 22, 2012 10:50 amCodd Зарег.: 13.01.2011 ; Сообщ.: 186Ответить с цитатой
news.php

Код:
<?php

header('Content-Type: text/html; charset=utf-8');

$rss_url = $_GET['patch'];
$count = $_GET['count'];

$rss_file = file_get_contents($rss_url);
$xml = simplexml_load_string($rss_file);

$print_str = "var m_hardware = new Array();\n";
$print_str .= "var update_time_t=" . time() . ";\n";

echo $print_str;

for ($i = 0; $i < $count; $i++)
{
    $item = $xml->channel->item[$i];

    $print_data = array();

    $print_str = 'm_hardware[m_hardware.length]=new f(';

    $print_data[] = "'{$item->title}'";
    $print_data[] = "'{$item->link}'";
    $print_data[] = "''";
    $print_data[] = "''";
    $print_data[] = "'{$item->description}'";
    $print_data[] = "{$item->pubDateUT}";

    $print_str .= implode(',', $print_data) . ");\n";


    echo $print_str;


}

?>



news.html

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title></title>

</head>
<body>

<style>
    span.yandex_date {font-size: 85%; margin-right:0.5em;}
    div.yandex_informer   {font-size: 85%; margin-bottom: 0.3em;}
    div.yandex_title    {font-size: 100%; margin-bottom: 0.5em; }
    div.yandex_title a   { }
    div.yandex_allnews   {font-size: 80%; margin-top: 0.3em;}
    div.yandex_allnews   {font-size: 80%; margin-top: 0.3em;}
    div.yandex_annotation      {font-size: 85%; margin-bottom: 0.5em;}
</style>

<script src='http://news.yandex.ru/common.js'></script>
<script>m_index=false;</script>
<script src='http://site.ru/news.php?patch=http://news.yandex.ru/Vologda/index.rss&count=3' type='text/javascript' charset='utf-8'></script>

<script>
    str='<div class=yandex_title><a href=http://news.yandex.ru><b>Яндекс.Новости</b></a></div>';

    if ((aObj=eval('m_hardware')) && (aObj.length>0)){
        for (j=0;j<aObj.length;j++) {
            str+='' +
                    '<div><span class=yandex_news_title><a href='+aObj[j].url+'>'+aObj[j].title+'</a></span></div>' +
                    '<div class=yandex_annotation>'+aObj[j].descr+'</div>';
        }

        str+='<div class=yandex_allnews><a href=http://news.yandex.ru>Все новости на ' + ya_format_date(update_time_t) + ' &gt;&gt;</a></div>';

        document.write(str);
    };

    function ya_format_date(timestamp){
        var d = (new Date(timestamp*1000)).toLocaleTimeString().split(':');
        return [d[0], d[1]].join(':').replace(/d{1,2}:d{1,2}(:d{1,2})/, '');
    }
</script>

</body>
</html>

# Ср Авг 22, 2012 2:02 pmbanzai Зарег.: 24.05.2007 ; Сообщ.: 729Ответить с цитатой
Codd, а на news.php надо права 755 ?
попробовал, поставил 755, в
Код:
http://site.ru/news.php?patch=http://news.yandex.ru/Vologda/index.rss&count=3


заменил site.ru на урл своего сайта, а оно не пашет Sad
# Чт Авг 23, 2012 6:31 pmDK Зарег.: 18.06.2008 ; Сообщ.: 2425Ответить с цитатой
я еще не пробовал, по честноку скажу я хз как даже все это подключить ) у тебя получилось?
# Чт Авг 23, 2012 6:45 pmbanzai Зарег.: 24.05.2007 ; Сообщ.: 729Ответить с цитатой
DK писал(а):
я еще не пробовал, по честноку скажу я хз как даже все это подключить ) у тебя получилось?


а что подключать, Codd написал содержимое двух файлов, на каком то хосте создаешь news.php и туда соответствующее содержимое.
а к себе в старницу вставляешь тот код который описан в news.html
только в строке
Код:
http://site.ru/news.php?patch=http://news.yandex.ru/Vologda/index.rss&count=3


меняешь site.ru на свой сайт, где разместишь news.php
Это в теории. Smile У меня не заработало, дальше не разбирался.
# Пт Авг 24, 2012 1:19 pmCodd Зарег.: 13.01.2011 ; Сообщ.: 186Ответить с цитатой
Если не заработает, то в news.php
Строку
$rss_url = $_GET['patch'];
меняете на
$rss_url = 'http://news.yandex.ru' . $_GET['patch'];

В news.html
patch=http://news.yandex.ru/Vologda/index.rss
на
patch=/Vologda/index.rss
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ
 
Любое использование материалов, размещенных на ArmadaBoard.com, без разрешения владельцев ArmadaBoard.com запрещено.