هاست لینوکس

آخرین بسته‌ی MyBB: نسخه‌ی 1.8.27 MyBB منتشر شد


امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش ایجاد rss نمایش خبر خوان اختصاصی
#1
Lightbulb 
با استفاده از اين آموزش ميتوانيد جديدترين اخبار مربوط به وب سايتها و وبلاگهاي دلخواه خودتان را درون صفحه يا سايت قرار بدهيد ! همچنين اين اسکريپت مناسب براي انجمن ها مي باشد که مي خواهند مطالب بخشي هايي از انجمن خودشان را در يک صفحه گلچين کرده و نمايش بدهند . همچنين اين آموزش به خاطر درخواست يکي از کاربران سايت قرار داده شده است .

يک پوشه ايجاد ايجاد کنيد به اسم 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($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 ايجاد کنيد و کدهاي زير را در آن قرار بدهيد :

کد 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><SCRIPTap_showWaitMessage('waitDiv',1)
</
SCRIPT>
<!--
finish Loading  -->
<
style>
p,legend,ul,input,label{
font-family:tahoma;
font-size 10pt;
}
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
پاسخ
 سپاس شده توسطreza.t.gh (۱۳۹۲/۴/۱۲، ۱۹:۵۱:۰۳ عصر) ، mellat (۱۳۹۲/۴/۱۲، ۲۰:۴۸:۳۴ عصر) ، jacksonmagic (۱۳۹۲/۸/۲۰، ۱۰:۵۴:۵۴ صبح) ، firstboy000 (۱۳۹۲/۱۲/۲۳، ۰۳:۳۱:۳۸ صبح) ، Gh-Moradi (۱۳۹۲/۱۲/۲۳، ۱۱:۰۱:۳۲ صبح) ، صالح غلامیان (۱۳۹۲/۱۲/۲۳، ۱۲:۵۱:۰۸ عصر) ، Pars (۱۳۹۲/۱۲/۲۳، ۱۳:۴۰:۳۴ عصر)
#2
با سلام
پوشه rss را کجا قرار دهم
پاسخ
#3
با سلام
پوشه rss را کجا قرار دهیم؟
پاسخ
#4
هر که می خواهید قرار دهید. لینک rss در آنجا ساخته می شود.
به لینک نمونه ای که قرار دادن توجه کنید.


مردان بزرگ اراده می‌کنند و مردان کوچک آرزو
[تصویر:  1348752239.gif]




اگر روزی دشمن پیدا کردی، بدان که در رسیدن به هدفت موفق بودی.
اگر روزی تهدیدت کردند، بدان در برابرت ناتوانند.
اگر روزی خیانت دیدی، بدان قیمتت بالاست.
اگر روزی ترکت کردند، بدان با تو بودن لیاقت می‌خواهد.

پاسخ
 سپاس شده توسطشماره مجازی (۱۴۰۱/۸/۲۶، ۰۱:۵۹:۰۳ صبح) ، گراف مسنجر (۱۴۰۱/۱۰/۳، ۰۴:۲۰:۴۹ صبح) ، چارتر ۴۲۴ (۱۴۰۲/۹/۱۲، ۱۵:۲۴:۲۹ عصر)


پرش به انجمن:


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