*元々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フィードアイコンを追加させてもらってまーす。
- Gentoo Linuxな生活/XOOPS CubeのRSSフィードを機能させる のバックアップソース(No. All)
- 現: 2013-03-08 (金) 00:15:12 maruo