元々RSSフィード機能あるんですけどね…
XOOPSには、XOOPS_ROOT_PATH上にbackend.phpってphpファイルがあります。このスクリプト、サイトのRSSフィードを行なってくれるんですが、かつてのXOOPS(2.0系)に標準でついていたnewsモジュールからフィードを引っ張ってくるものでした。
さて、XOOPS Cubeに変わってから、標準で添付されているモジュールが、コアモジュールぐらいしかなくなってしまいました。これではbackend.phpが機能しない!せっかくなので使用できるようにしたいなぁ、と思い、調べてみたところ…便利なスクリプトが転がってました。
preloadモジュールでbackend.phpの動作を変化させる
マイサイト開発室さんの掲示板に、便利な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フィードを機能させる |
ページ別名 : | 未設定 |
ページ作成 : | maruo |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | なし |
ユーザー : | なし |