نمایش آخرین مطالب از طریق فید RSS در وب سایت شما ( فیدخوان )
خوب به درخواست چندی از کاربران سایت مبنی بر آموزشی در این زمینه , تصمیم به درج این پست در سایت اسکریپت دات کام کردم .
فید چیست ؟
خوراک وب یا به اختصار خوراک (به انگلیسی: web feed) یا فید یک قالب داده است که به کاربران اجازه میدهد محتویاتی که مرتباً بهروز میشوند را بهراحتی پیگیری نمایند.
بهصورت معمولی چگونگی کاربرد یک خوراک بدینگونهاست که تولیدکنندگان محتوا، یک پیوند به کاربر میدهند تا کاربر با معرفی پیوند به برنامهٔ خوراکخوان خود، هنگام بهروز شدن خوراک، درونمایههای تازهای که به خوراک افزوده شدهاست را دریافت کند.
هماکنون بسیاری از وبلاگها و تارنماها، خوراک اختصاصی خود را پخش میکنند.
به عنوان مثال خوراک سایت اسکریپت دات کام در این لینک میباشد .
در این پست قصد دارم با استفاده از زبان php , خوراک ها رو به زبان قابل فهم تبدیل و برای انتشار در یک وبسایت آماده سازم .
به عنوان مثال شما پس از این آموزش میتوانید آخرین اخبار سایت خبری ایرنا رو در سایت خود داشته باشید .
در ابتدا باید آدرس لینک RSS سایت مورد نظر را داشته باشید ( اکثرا در همان وبسایت برای عموم گذاشته میشود ) . مثلا برای سایت خبرگزاری ایرنا : http://irna.ir//fa/rss.aspx?kind=-1
حال یک فایل به نام rss.class.php ساخته و کد های زیر را در آن وارد نمایید :
<?php class rss { var $feed; function rss($feed) { $this->feed = $feed; } function parse() { $rss = simplexml_load_file($this->feed); $rss_split = array(); foreach ($rss->channel->item as $item) { $title = (string)$item->title; $link = (string)$item->link; $description = (string)$item->description; $rss_split[] = '<li class="vms"> <a href="' . $link . '" target="_blank" title="" > <span style="color:indianred">*</span> ' . $title . ' </a> </li> '; } return $rss_split; } function display($numrows, $head) { $rss_split = $this->parse(); $i = 0; $rss_data = '<div class="vms-rss"> <div class="vms-title"> ' . $head . ' </div> <div class="vms-links">'; while ($i < $numrows) { $rss_data .= $rss_split[$i]; $i++; } $trim = str_replace('', '', $this->feed); $user = str_replace('&lang=fa-ir&format=rss_200', '', $trim); $rss_data .= '</div></div>'; return $rss_data; } } ?>
حال کافیست برای نمایش آخرین مطالب در سایت خود , کد php زیر را در مکان مورد نظر خود وارد نمایید . توجه نمایید که چون کد php می باشد , پس حتما باید در فایلی که php می باشد قرار دهید و در فایل با پسوند html و … اجرا نمیشود .
include('rss.class.php'); $feedlist = new rss('http://xn--mgbguh09aqiwi.com/rss'); echo $feedlist->display(5, "اسکریپت دات کام");
در کد بالا به جای http://xn--mgbguh09aqiwi.com/feed , آدرس فید RSS سایت مورد نظر خود را وارد نمایید . سپس در خط زیرینش میتوانید تنظیماتی از جمله تعداد مطالب نمایش شونده و اسم عنوان کادر مورد نظر خود را وارد نمایید که در بالا 5 پست آخر سایت اسکریپت دات کام را نمایش خواهد داد .
میتوانید برای دیزاین زیباتر این کادر به نمایش در آمده , از Css زیر استفاده نمایید و آن را در فایل Css سایت خود وارد نمایید .
<style> .vms-rss { float:left; width:330px; padding:10px; direction:rtl; font-family:tahoma; margin:20px; } .vms-title { font-size: 15px; font-weight: bold; background-color:#639; color: #FFFFFF; padding: 5px; text-align: center; border:1px solid #639; border-radius:3px 3px 0px 0px; } .vms-links { text-align: right; padding: 5px; border: 1px solid #639; font-size: 13px; border-radius:0px 0px 3px 3px; } .vms a{ text-decoration:none; } li.vms{ margin:13px 0; list-style-type:none; } </style>
دانلود فایل آماده از آموزش بالا
[sdm_download id=”6136″ fancy=”0″]
———————————————————————————–
ضمنا شما اگر از وردپرس استفاده می کنید , میتونید از تکه کد php زیر در قالب خود استفاده نمایید تا بسیار راحت تر به هدف خود برسید
<?php include_once(ABSPATH.WPINC.'/feed.php'); $rss = fetch_feed('http://اسکریپت.com/feed/'); $maxitems = $rss->get_item_quantity(5); $rss_items = $rss->get_items(0, $maxitems); ?> <ul> <?php if ($maxitems == 0) echo '<li>مطلبی یافت نشد!</li>'; else foreach ( $rss_items as $item ) : ?> <li> <a href='<?php echo $item->get_permalink(); ?>' title='<?php echo 'ارسال شده در : '.$item->get_date('j F Y | g:i a'); ?>'> <?php echo $item->get_title(); ?></a> </li> <?php endforeach; ?> </ul>
نکته : در خط 2 آدرس فید را وارد نمایید و در خط 3 تعداد مطالب قابل نمایش که به صورت پیش فرض 5 می باشد را تغییر دهید.
———————————————————————————–
آموزش : وحید مجیدی
پخش اختصاصی
با سلام :
مثل همیشه عالی بود
من توی لوکال امتحان کردم
Notice: Undefined offset: 10 in D:xampphtdocsphprssrss.class.php on line 41
مشکل هم اینه که از 10تا به بالا با اخطار مواجه میشود
موفق باشید :)
بله دوست عزیزم . ماکزیموم 10 تارو نشون میده
تست کردم فهمیدم اگر تعداد فیدها مثلاً 10 عدد باشه و در اسکریپت بیشتر از 10تا رو فراخوانی کنی این خطا رو میده
تعداد فیدها رو روی 15تا ست کردم اسکریپت کار کرد بدون خطا
چجوری میشه تعداد فیدها رو بدست آورد؟
سلام چطوری فید سایتم روبه :
http://www.shahidtorki.ir/feed
تبدیل کنم
یه پوشه به نام feed در root سایت خود بسازید . سپس مراحل رادر داخل آن انجام دهید
بسیار کاربردی و مفید :)
سلام
شما می تونید مثل سایت زیر طراحی کنید هزینه اش چقدر می شود؟
http://ariamarket.ir/
لطفا تماس بگیرید با تشکر
Ali bod ba sepas
Alan ba mobilam eshalah farda test mikonam ro sitam
قربونت داداشی