مهمان عزیز خوش آمدید. ورود ثبت نام



صفحه‌ها (2):
امتیاز موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
کلمات کلیدی
آموزش ایجاد rss نمایش خبر خوان اختصاصی

آموزش ایجاد rss نمایش خبر خوان اختصاصی
Question 
با استفاده از این آموزش میتوانید جدیدترین اخبار مربوط به وب سایتها و وبلاگهای دلخواه خودتان را درون صفحه یا سایت قرار بدهید ! همچنین این اسکریپت مناسب برای انجمن ها می باشد که می خواهند مطالب بخشی هایی از انجمن خودشان را در یک صفحه گلچین کرده و نمایش بدهند . همچنین این آموزش به خاطر درخواست یکی از کاربران سایت قرار داده شده است .

یک پوشه ایجاد ایجاد کنید به اسم rss و فایلهای زیر را ایجاد کرده و در آن قرار بدهید !

در ابتدا یک فایل php تحت عنوان rsslib.php ایجاد کرده و کدهای زیر را در آن قرار بدهید :
کد پی‌اچ‌پی:
<?php
/*
    RSS Extractor and Displayer
    (c) 2007-2010  Scriptol.com - Licence Mozilla 1.1.
    rsslib.php
    
    Requirements:
    - PHP 5.
    - A RSS feed.
    
    Using the library:
    Insert this code into the page that displays the RSS feed:
    
    <?php
    require_once("rsslib.php");
    echo RSS_Display("http://www.xul.fr/rss.xml", 15);
    ? >
    
*/

$RSS_Content = array();

function 
RSS_Tags($item$type)
{
        
$y = array();
        
$tnl $item->getElementsByTagName("title");
        
$tnl $tnl->item(0);
        
$title $tnl->firstChild->textContent;

        
$tnl $item->getElementsByTagName("link");
        
$tnl $tnl->item(0);
        
$link $tnl->firstChild->textContent;
        
        
$tnl $item->getElementsByTagName("pubDate");
        
$tnl $tnl->item(0);
        
$date $tnl->firstChild->textContent;        

        
$tnl $item->getElementsByTagName("description");
        
$tnl $tnl->item(0);
        
$description $tnl->firstChild->textContent;

        
$y["title"] = $title;
        
$y["link"] = $link;
        
$y["date"] = $date;        
        
$y["description"] = $description;
        
$y["type"] = $type;
        
        return 
$y;
}


function 
RSS_Channel($channel)
{
    global 
$RSS_Content;

    
$items $channel->getElementsByTagName("item");
    
    
// Processing channel
    
    
$y RSS_Tags($channel0);        // get description of channel, type 0
    
array_push($RSS_Content$y);
    
    
// Processing articles
    
    
foreach($items as $item)
    {
        
$y RSS_Tags($item1);    // get description of article, type 1
        
array_push($RSS_Content$y);
    }
}

function 
RSS_Retrieve($url)
{
    global 
$RSS_Content;

    
$doc  = new DOMDocument();
    
$doc->load($url);

    
$channels $doc->getElementsByTagName("channel");
    
    
$RSS_Content = array();
    
    foreach(
$channels as $channel)
    {
         
RSS_Channel($channel);
    }
    
}


function 
RSS_RetrieveLinks($url)
{
    global 
$RSS_Content;

    
$doc  = new DOMDocument();
    
$doc->load($url);

    
$channels $doc->getElementsByTagName("channel");
    
    
$RSS_Content = array();
    
    foreach(
$channels as $channel)
    {
        
$items $channel->getElementsByTagName("item");
        foreach(
$items as $item)
        {
            
$y RSS_Tags($item1);    // get description of article, type 1
            
array_push($RSS_Content$y);
        }
         
    }

}


function 
RSS_Links($url$size 15)
{
    global 
$RSS_Content;

    
$page "<ul>";

    
RSS_RetrieveLinks($url);
    if(
$size 0)
        
$recents array_slice($RSS_Content0$size 1);

    foreach(
$recents as $article)
    {
        
$type $article["type"];
        if(
$type == 0) continue;
        
$title $article["title"];
        
$link $article["link"];
        
$page .= "<li><a href=\"$link\">$title</a></li>\n";            
    }

    
$page .="</ul>\n";

    return 
$page;
    
}



function 
RSS_Display($url$size 15$site 0$withdate 0)
{
    global 
$RSS_Content;

    
$opened false;
    
$page "";
    
$site = (intval($site) == 0) ? 0;

    
RSS_Retrieve($url);
    if(
$size 0)
        
$recents array_slice($RSS_Content$site$size $site);

    foreach(
$recents as $article)
    {
        
$type $article["type"];
        if(
$type == 0)
        {
            if(
$opened == true)
            {
                
$page .="</ul>\n";
                
$opened false;
            }
            
$page .="<b>";
        }
        else
        {
            if(
$opened == false
            {
                
$page .= "<ul>\n";
                
$opened true;
            }
        }
        
$title $article["title"];
        
$link $article["link"];
        
$page .= "<li><a href=\"$link\">$title</a>";
        if(
$withdate)
        {
      
$date $article["date"];
      
$page .=' <span class="rssdate">'.$date.'</span>';
    }
        
$description $article["description"];
        if(
$description != false)
        {
            
$page .= "<br><span class='rssdesc'>$description</span>";
        }
        
$page .= "</li>\n";            
        
        if(
$type==0)
        {
            
$page .="</b><br />";
        }

    }

    if(
$opened == true)
    {    
        
$page .="</ul>\n";
    }
    return 
$page."\n";
    
}


?>

سپس یک فایل css تحت عنوان rss-style.css ایجاد کرده و کدهای زیر را در آن قرار بدهید . این فایل استایل محتویات فایل خروجی را نمایش می دهد .



کد:
.rsslib
{
font-family: tahoma, Georgia, Arial;
font-size:90%;

}

.rsslib ul
{
list-style-type: square;
}

.rsslib ul li
{
margin-bottom:8px;
}

.rssdate, .rssdesc
{
font-size: 90%;

}


سپس برای نمایش محتویات آخرین مطالب انجمن خودتان (mybb) بصورت زیر اقدام کنید :

یک فایل php به عنوان مثال rss01.php ایجاد کنید و کدهای زیر را در آن قرار بدهید :
کد پی‌اچ‌پی:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr" lang="en">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<
base target="_blank">
<
title>نمایش خبرخوان</title>
<!---- 
start Loading ---->
<
script>
var 
DHTML = (document.getElementById || document.all ||document.layers);
function 
ap_getObj(name) {
if(
document.getElementById) {
return 
document.getElementById(name).style;}
else if (
document.all) {
return 
document.all[name].style; }
else if(
document.layers) {
return 
document.layers[name]; } }
function 
ap_showWaitMessage(div,flag) {
if (!
DHTML) return; var =ap_getObj(div); x.visibility = (flag) ? 'visible':'hidden' ;
if(!
document.getElementById) if(document.layersx.left=280/2; return true;}</script>
<div id="waitDiv" style="border: 1px dotted ; POSITION:absolute;TOP:90px;RIGHT:400px;TEXT-ALIGN:center; visibility:hidden; width:272px;background-color:#FFFFFF
padding-left:4px; padding-right:4px;padding-top:1px; padding-bottom:1px">
<p dir="rtl" style="margin-top: 5; margin-bottom:5">
<font color="#0F4F86" face="Tahoma" style="font-size: 9pt">صفحه در حال بارگذاری
است! لطفا کمی صبر کنید...</font></p><p dir="rtl" style="margin-top: 0">
<font face="Tahoma"style="font-size: 8pt"><br> <img title="...در حال بارگذاری " src="http://tools.sepna.com/script/images/loading.gif" border="0"> <br>
<font color="#0F4F86" face="Tahoma" style="font-size: 8pt"> ... Loading </font></a>
<div style="display:none"> </div>
</div><SCRIPT> ap_showWaitMessage('waitDiv',1)
</SCRIPT>
<!--finish Loading  -->
<style>
p,legend,ul,input,label{
font-family:tahoma;
font-size : 10pt;
}
a { text-decoration:none }
a:link    {color:blue;}
a:visited {color:navy;}
a:hover {background-color:#CC0000;color:#ffffff;-moz-border-radius:5px;-webkit-moz-border:5px;border-radius:5px;text-shadow:0 1px 1px #fff;}    
a:active {color:yellow;}
</style>


</head>
<link type="text/css" href="rss-style.css" rel="stylesheet">

    
<body>


<fieldset dir=rtl class="rsslib" style="border: 1px solid #BCD7ED"> <legend> آخرین مطالب</legend>

<?php
    
require_once("rsslib.php");
    
$url "http://www.sepna.com/rss.php";
    echo 
RSS_Links($url30);
?> 

</fieldset>

<SCRIPT>
ap_showWaitMessage('waitDiv', 0)
</SCRIPT>

</body>
</html> 

در کد بالا بجای آدرس سایت سپنا آدرس سایت خودتان را وارد کنید.






کد:
$url = "http://www.sepna.com/rss.php";

کار تمام هست ما برای زیباتر کردن خروجی فایل از اسکریپت loading و همچنین برای باز شدن لینکها در صفحه جدید از کد زیر استفاده کردیم :






کد:
<base target="_blank">

جهت تغییر دادن رنگ لینکها کدهای استایل زیر را ویرایش کنید :






کد:
a { text-decoration:none } // لینکهای عادی
a:link {color:blue;} // رنگ لینکهای معمولی
a:visited {color:navy;} // رنگ لینکهای کلیک شده
a:hover {background-color:#CC0000;color:#ffffff;-moz-border-radius:5px;-webkit-moz-border:5px;border-radius:5px;text-shadow:0 1px 1px #fff;} // رنگ لینکها در هنگام رفتن ماوس
a:active {color:yellow;} // رنگ لینکهای فعال شده

نمونه آنلاین :

http://tools.sepna.com/rss/rss01.php

راهنما و شیوه استفاده از خبرخوان برای یک موضوع دلخواه یا مورد نظر در انجمن :

یک فایل php به عنوان مثال rss02.php ایجاد کنید و کدهایی که در بالا شرح داده شد را در آن قرار بدهید فقط بجای کدهای زیر :





کد:
$url = "http://www.sepna.com/rss.php";

کدهای زیر را قرار بدهید :





کد:
$url = "http://www.sepna.com/syndication.php?fid=279";

نحوه ی پیدا کردن id یک انجمن برای قرار دادن در کد بالا :

فرض کنید شما یک انجمن با نام تفریح و سرگرمی دارید که آدرسش شبیه لینک زیر هست :

your-site.com/forum-561.html ==> یعنی با کلیک کردن بر روی این لینک شما وارد تالار تفریح و سرگرمی می شوید .
پس شماره ID این انجمن 561 می باشد که شما باید آنرا در کد بالا قرار بدهید تا مطالب مربوط به این انجمن را برای شما در خبر خوان نمایش بدهد .



کد:
http://www.sepna.com/syndication.php?fid=561

نمایش خبرخوان : بجای your-site.com آدرس سایت خودتان را بنویسید .


کد:
http://www.your-site.com/rss/rss02.php

نمونه آنلاین :

http://tools.sepna.com/rss/rss02.php

منبع : http://www.sepna.com/thread-418.html

 فایل ضمیمه را دانلود کنید . تمامی فایلها درون پوشه rss هست و شما باید این پوشه را در root هاست قرار بدهید.

کد فراخوانی به صورت زیر می باشد :


کد:
<script type="text/javascript" src="http://tools.sepna.com/rss/rss02.js"></script>

 
.zip   rss.zip (اندازه 5.92 KB / تعداد دانلود: 36)
 


ممنون از اموزش خوبتون اگه بخوایم چندین صفحه رو تو  یه صفحه بذاریم چطور

منظورم یه صفحه که 6 تا ار اس اس فراخوانی بشه ولی نه با iframe(چون  برا سئو خوب نیست)

مثل:naghola.com یا taknaz.ir

به صورت جاوا اسکریپت باشه که بتونیم هرجا خواستیم ازش استفاده کنیم


تصویر: http://daneshju-club.com/up/ord92/1408617687.jpg

یک فایل جاوا اسکریپت میسازی مثلا با نام : rss01.js و کدهای زیر را درون آن قرار میدهی :


کد:
//last posts from rss document.write('<center><iframe name="lastpost" src="http://www.your-site.com/rss/rss01.php" border="0" frameborder="0" width="550" height="450" scrolling="no"> Your browser does not support inline frames or is currently configured not to display inline frames.</iframe></center>');
و سپس همین فایل را در صفحه مورد نظر فراخوانی میکنی !



کد:
<script type="text/javascript" src="http://www.your-site.com/rss/rss01.js"></script>

در آدرسهای بالا بجای your-site آدرس سایت خودتان را بنویسید !


 


ممنون از آموزشتون

فقط اینکه پوشه rss را کجا قرار بدهیم!
درود : برای قرار دادن در وبلاگ کد فراخوانیش چیه داداش ؟


(۱۴ تير ۱۳۹۲، ۰۷:۵۱ ق.ظ)'behmor67' نوشته:  ممنون از آموزشتون

فقط اینکه پوشه rss را کجا قرار بدهیم!

 
تو روت سایت


 


تصویر: http://daneshju-club.com/up/ord92/1408617687.jpg

(۱۴ تير ۱۳۹۲، ۰۸:۴۹ ق.ظ)'darya1012' نوشته:  درود : برای قرار دادن در وبلاگ کد فراخوانیش چیه داداش ؟

 
کد:
<script type="text/javascript" src="http://www.your-site.com/rss/rss01.js"></script>


 


تصویر: http://daneshju-club.com/up/ord92/1408617687.jpg

(۱۴ تير ۱۳۹۲، ۰۹:۲۰ ق.ظ)'امیر خان' نوشته:  
(۱۴ تير ۱۳۹۲، ۰۸:۴۹ ق.ظ)'darya1012' نوشته:  درود : برای قرار دادن در وبلاگ کد فراخوانیش چیه داداش ؟


 
کد:
<script type="text/javascript" src="http://www.your-site.com/rss/rss01.js"></script>


 

 
درود : همین کد رو قبل از سوال کردن قرار دادم جواب نداد . 
فایل
کد:
rss01.js
هم ساختم در پوشه rss ریختم موندم چرا جواب نمیده .


 


فایل ضمیمه پست اول را دانلود کنید . تمامی فایلها درون پوشه rss هست و شما باید این پوشه را در root هاست قرار بدهید .


سلام ،اگه بخوام قبل از هر لینک این عکس تصویر: http://nooromahdi.ir/forum/images/ps_minion.gif رو نمایش بده ، مثل آمار انجمن pro stats چه کدی رو باید استفاده کنم

یعنی به این صورت باشه

تصویر: http://nooromahdi.ir/forum/images/ps_minion.gif لینک شماره 1
تصویر: http://nooromahdi.ir/forum/images/ps_minion.gif لینک شماره 2

------

راستی اگه این فایل رو بدون استایل و css در اختیار بگذاری خیلی ممنون میشم
 


www.Masonic-Photo.ir/forum
صفحه‌ها (2):


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question مای کد نمایش کدهای html بدون فعال کردن html در انجمن sepna 2 3,207 ۰۵ خرداد ۱۳۹۴، ۰۹:۳۳ ب.ظ
آخرین ارسال: ERFAN-DESIGN
  آموزش تصویری ثبت سایت در الکسا ♥ Alone Boy ♥ 3 2,262 ۰۶ فروردین ۱۳۹۴، ۰۵:۱۸ ب.ظ
آخرین ارسال: Agahi90
  آموزش ایجاد منوی ضربه ای amhf 15 2,643 ۰۷ شهریور ۱۳۹۳، ۰۳:۲۸ ق.ظ
آخرین ارسال: amhf
  آموزش رفع مشکل ورود و خروج(بازگشت به صفحه قبل ) farsi200 9 4,332 ۲۷ تير ۱۳۹۳، ۱۱:۴۳ ق.ظ
آخرین ارسال: farsi200
  آموزش نصب و راه اندازی چت روم cometchat Mr-javad 9 4,235 ۲۵ تير ۱۳۹۳، ۱۰:۰۹ ب.ظ
آخرین ارسال: sarmadi
  آموزش تصویری نصب قالب مای بی بی - کامل و جامع _Arman 2 4,944 ۰۶ تير ۱۳۹۳، ۰۵:۱۴ ب.ظ
آخرین ارسال: behnam
  آموزش نوفالو کردن لینک های خروجی در مای بی بی yavar99 0 1,189 ۰۶ تير ۱۳۹۳، ۰۲:۳۰ ق.ظ
آخرین ارسال: yavar99
  آموزش تصویری نصب اسکریپت arrowchat و ست کردن آن با mybb maneoo 11 5,125 ۲۳ خرداد ۱۳۹۳، ۰۱:۲۶ ب.ظ
آخرین ارسال: naghola
  آموزش ایجاد چت روم envolve بسیار سبک و کار آمد Mr-javad 11 5,226 ۱۴ آذر ۱۳۹۲، ۱۰:۰۵ ب.ظ
آخرین ارسال: 3yeddd
  آموزش ست کردن پلاگین thx با سپاس لایک I M A N 0 1,004 ۱۱ آبان ۱۳۹۲، ۰۶:۲۵ ب.ظ
آخرین ارسال: I M A N

پرش به انجمن:


کاربران در حال بازدید این موضوع:

1 مهمان


درباره‌ی ما

گروه پشتیبانی فارسی مای بی بی My-BB.Ir در واپسین روزهای پاییز 1391 کار خود را در زمینه مای بی بی آغاز کرد. این گروه با توکل بر خدای منان و دانش فنی خود در تلاش است فعالیتی هرچند ناچیز در زمینه ارتقا و پشتیبانی مای بی بی انجام دهد.
تمامی حقوق برای وب‌سایت پشتیبانی فارسی مای بی‌بی (My-BB.Ir) محفوظ می‌باشد و هرگونه کپی‌برداری از آن شرعا حرام و قانونا غیرمجاز می‌باشد.
قدرت گرفته از مای بی‌بی - فارسی‌ساز: My-BB.Ir و IORA.Ir