Back to page

− Links

 Print 

Source of Gentoo Linuxな生活​/XOOPS CubeのRSSフィードを機能させる :: Nest Of Hawk

Source of xpwiki:Gentoo Linuxな生活/XOOPS CubeのRSSフィードを機能させる

  
*元々RSSフィード機能あるんですけどね… [#t7f263ce]
XOOPSには、XOOPS_ROOT_PATH上にbackend.phpってphpファイルがあります。このスクリプト、サイトのRSSフィードを行なってくれるんですが、かつてのXOOPS(2.0系)に標準でついていたnewsモジュールからフィードを引っ張ってくるものでした。

さて、XOOPS Cubeに変わってから、標準で添付されているモジュールが、コアモジュールぐらいしかなくなってしまいました。これではbackend.phpが機能しない!せっかくなので使用できるようにしたいなぁ、と思い、調べてみたところ…便利なスクリプトが転がってました。

*preloadモジュールでbackend.phpの動作を変化させる [#e29598c6]
[[マイサイト開発室さんの掲示板>http://vivian.myht.org/modules/newbb/viewtopic.php?topic_id=37&forum=1&start=0&viewmode=flat#147]]に、便利なpreloadモジュールがひっそりと置いてあったとです。このページにも添付しておきますが、GenericPreloadBackend.class.phpです。これを、XOOPS_ROOT_PATH/preloadの下に置いておくと、任意のモジュールの最新更新情報を、backend.phpに渡してくれます。

私は、newsという名前のディレクトリにあるWordPress流用のニュースモジュールから引っ張ってきてますが、スクリプトの中を覗くと、
 $module_handler =& xoops_gethandler('module');
 $channel = isset($_GET['ch'])?preg_replace('/\.feed/', '', $_GET['ch']):"news";
 $count = isset($_GET['count'])?intval($_GET['count']):10;
 $module =& $module_handler->getByDirname($channel);

という行がありますね。この$channelの末尾”news"を任意モジュールのパス(例えばうちだとxpwikiとか、wordpressだとか)に変更すると、そのモジュールから情報が取ってこれるという寸法ですね。で、カスタムブロック等に

 <a href=http://example.com/backend.php>
       <img src=images/Rssicon_3614.gif>
 </a>

等の記述を追加する事で、RSSフィードを示すアイコンを表示させることが出来るという寸法。うちのサイトでは、トップページのWelcomeブロックのところにRSSフィードアイコンを追加させてもらってまーす。

  

  • Backup source of Gentoo Linuxな生活/XOOPS CubeのRSSフィードを機能させる(No. All)
    • Cur: 2013-03-08 (Fri) 00:15:12 maruo[3]