Back to page

− Links

 Print 

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

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

元々RSSフィード機能あるんですけどね… anchor.png[1]

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

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

Page Top

preloadモジュールでbackend.phpの動作を変化させる anchor.png[2]

マイサイト開発室さんの掲示板[3]に、便利な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フィードアイコンを追加させてもらってまーす。


Last-modified: 2013-03-08 (Fri) 00:15:12 (JST) (3494d) by maruo