Cur: 2013-03-08 (Fri) 00:15:12 maruo[3] ![]() |
|||
---|---|---|---|
Line 1: | Line 1: | ||
+ | *元々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フィードアイコンを追加させてもらってまーす。 |
(This host) = https://femt.ddo.jp