۱۳۹۲/۴/۱۲، ۱۹:۴۶:۳۸ عصر
با استفاده از اين آموزش ميتوانيد جديدترين اخبار مربوط به وب سايتها و وبلاگهاي دلخواه خودتان را درون صفحه يا سايت قرار بدهيد ! همچنين اين اسکريپت مناسب براي انجمن ها مي باشد که مي خواهند مطالب بخشي هايي از انجمن خودشان را در يک صفحه گلچين کرده و نمايش بدهند . همچنين اين آموزش به خاطر درخواست يکي از کاربران سايت قرار داده شده است .
يک پوشه ايجاد ايجاد کنيد به اسم rss و فايلهاي زير را ايجاد کرده و در آن قرار بدهيد !
در ابتدا يک فايل php تحت عنوان rsslib.php ايجاد کرده و کدهاي زير را در آن قرار بدهيد :
سپس يک فايل css تحت عنوان rss-style.css ايجاد کرده و کدهاي زير را در آن قرار بدهيد . اين فايل استايل محتويات فايل خروجي را نمايش مي دهد .
سپس براي نمايش محتويات آخرين مطالب انجمن خودتان (mybb) بصورت زير اقدام کنيد :
يک فايل php به عنوان مثال rss01.php ايجاد کنيد و کدهاي زير را در آن قرار بدهيد :
در کد بالا بجاي آدرس سايت سپنا آدرس سايت خودتان را وارد کنيد.
کار تمام هست ما براي زيباتر کردن خروجي فايل از اسکريپت loading و همچنين براي باز شدن لينکها در صفحه جديد از کد زير استفاده کرديم :
جهت تغيير دادن رنگ لينکها کدهاي استايل زير را ويرايش کنيد :
نمونه آنلاين :
http://tools.sepna.com/rss/rss01.php
راهنما و شيوه استفاده از خبرخوان براي يک موضوع دلخواه يا مورد نظر در انجمن :
يک فايل php به عنوان مثال rss02.php ايجاد کنيد و کدهايي که در بالا شرح داده شد را در آن قرار بدهيد فقط بجاي کدهاي زير :
کدهاي زير را قرار بدهيد :
نحوه ي پيدا کردن id يک انجمن براي قرار دادن در کد بالا :
فرض کنيد شما يک انجمن با نام تفريح و سرگرمي داريد که آدرسش شبيه لينک زير هست :
your-site.com/forum-561.html ==> يعني با کليک کردن بر روي اين لينک شما وارد تالار تفريح و سرگرمي مي شويد .
پس شماره ID اين انجمن 561 مي باشد که شما بايد آنرا در کد بالا قرار بدهيد تا مطالب مربوط به اين انجمن را براي شما در خبر خوان نمايش بدهد .
نمايش خبرخوان : بجاي your-site.com آدرس سايت خودتان را بنويسيد .
نمونه آنلاين :
http://tools.sepna.com/rss/rss02.php
منبع : http://www.sepna.com/thread-418.html
يک پوشه ايجاد ايجاد کنيد به اسم rss و فايلهاي زير را ايجاد کرده و در آن قرار بدهيد !
در ابتدا يک فايل php تحت عنوان rsslib.php ايجاد کرده و کدهاي زير را در آن قرار بدهيد :
کد 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($channel, 0); // get description of channel, type 0
array_push($RSS_Content, $y);
// Processing articles
foreach($items as $item)
{
$y = RSS_Tags($item, 1); // 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($item, 1); // 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_Content, 0, $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) ? 1 : 0;
RSS_Retrieve($url);
if($size > 0)
$recents = array_slice($RSS_Content, $site, $size + 1 - $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 ايجاد کنيد و کدهاي زير را در آن قرار بدهيد :
کد 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 x =ap_getObj(div); x.visibility = (flag) ? 'visible':'hidden' ;
if(!document.getElementById) if(document.layers) x.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($url, 30);
?>
</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