イメージマネージャーの表示順序

2007/11/21 | XOOPS

Xoopsのイメージマネージャーを普通に使っているのだが・・・(2.0.16ね)。
たいていは画像を使いたいときに、その都度アップロードして、そしてリストから画像を選択して使うことになるはず。
このリスト10件ずつ表示でページングとなり登録順に表示される。これは非常に不便だ。つまりこの方式だと、新規登録した画像を使おうと思ったら、必ずページング処理をしてから画像を選択しなくてはいけない。だいたい記事を書く際に、昔登録した画像を使うことは稀なはず。ということでこれは仕様がまずいのだ。
んでもってimagemaneger.phpを少しハックした。ハックした箇所はファイルの90行目付近。

$criteria->setLimit(10);
$criteria->setStart($start);

この下に以下の2行を追加した。
$criteria->setSort(‘image_id’);
$criteria->setOrder(‘desc’);

これで画像リストの表示順序が逆になった。やっぱこれのほうが断然使いやすい。
ということでめでたしめでたし。

minihakuでのアカウント情報表示

2007/08/23 | XOOPS

minihakuでは、アクセスがあったURLから、アカウント登録、アカウント編集、アカウント情報表示の場合だけプログラムを乗っ取り(hookし)、minihaku/include内の各スクリプトへその動作を流すよう設計されている。しかしアカウント情報表示の場合に限っては、hookはしているものの実際には何もしていない(アカウント情報表示は結局はXoops本来のものを使用していて、minihakuでは何もしていない)。これではきっと後継版を作るのに都合が悪いだろうと思い、アカウント情報表示もminihaku内で動作するようスクリプトとテンプレートを追加した。実際の作業は以下のとおり。

(1) テンプレートマネージャーから「system_userform.html」をダウンロードし、minihaku_userinfo.htmlとリネームしてminihakuモジュール内のテンプレートディレクトリに配置。
(2) xoops_version.phpのテンプレートの設定で、上記を追加。
(3) Xoopsのルートディレクトリにあるuserinfo.phpの中身を丸ごとコピーして、minihaku/include/userinfohook.phpペースト。ただし、テンプレートの指定を(1)で指定したテンプレートに変更しておく。
(4) minihakuモジュールのアップデート。

これでOK。minihaku内でアカウント情報表示プログラムも乗っ取ることが出来た。

白扇・ミニ白後継モジュールのその後

2007/08/22 | XOOPS

Xoops Cubeのリリース時に白扇後継モジュール開発を継続しようかどうか迷ってはいたが、依然としてその野望(?)は消えていない。Cubeでのユーザ関連機能のモジュール化に伴い、おそらく仕様ががらっと変わっているとは思うが、これまで蓄積した知識をこれからも利用したいので、いちおう開発は続けている(といってもまだ検証中だが)。
今回「物は試し」ということで、minihakuを実際にxoopsに組み込んでみた。といっても追加項目を設定したわけではなく、必要最低限な項目に限って登録・編集できるようにしてみた。
実際にしてみた作業は簡単。minihakuのconfig.php内にデフォルトで記入されている項目を全てコメントアウトし、テンプレートで記述されている不要な項目についても全てコメントアウトしてみた。実際の処理ルーチンには手を入れなかったが、これだけで対応できた(ログインID、メールアドレス、パスワードだけにしてみた)。
ここまでやってみてわかったこと。ユーザ情報の登録・編集の各機能はminihakuで用意されているが、ユーザ情報参照機能はXoops標準の機能を利用しているのだが、これは違和感がある。やはり入力した内容に応じた情報が表示されないと・・・。幸い、プログラムを組み込む余地だけは残してあるようなので、おいおい組み込んでみることにする。
実際にminihakuを組み込むことで、後継モジュール作成の基盤がずいぶん明確になったような気がする。ただ、のんびり作っていくことにした。

XoopsでRSSを配信

2007/08/12 | XOOPS

XoopsでRSSを配信したい、というリクエストをいただいた。早速検索してみるとRSSfitというモジュールが紹介されていた。URLはここ

ここで紹介されていたRSSfit1.1を使用してみた。RSS配信したいモジュール用のプラグインを作成すれば準備完了だ(あとモジュールに対するアクセス権限も)。
結論からいくといとも簡単にRSSを配信することが出来た。

ちなみにこの上記で紹介したサイトで配布されているRSSfitJ(独自に日本語対応されたモジュール)は現行のXoops(2.0.16a JP)では動作しなかった(管理画面がうまく動いてくれないので設定のしようがない)。

RSSfitの本家を見てみた。こちらではRSSfitの最新版(1.21)が配布されていた。
ちなみにこちらでも、プラグインを作ることで正しく動作しているように見えるが、管理画面中で文字化けしているようなところが見受けられたので、今回は使用しなかった。多言語パックも用意されているようだが、日本語は用意されていなかった(残念)。
日本語版、つくってもいいかもしれない。でも、本家がマルチバイト対応していないので、プログラム本体のソースを全部追わないといけないので、それはそれでちょっと大変・・・。

Xoops と Xoops Cube

2007/08/08 | XOOPS

今まで使わなかったがXoops Cubeというソフトウェアがある。元々はXoopsは1本の開発の流れがあったが、そこから分家したソフトだ。先日とうとう安定版がでたとのアナウンスを見かけたので、早速インストールしてみた。

んで驚いた。
だって全然中身が違うんだもん。

Xoops Cubeは日本独自のバージョンとのことだが、そういえば昔、本家でのマルチバイト対応の問題でもめてた時期があったなぁ、と思い出しだ。開発者は日本人なのにおかしな話だ。おそらくあのときの遺恨を引きずって、分家したのだろう。

しかし困った。この数ヶ月で覚えたことが水の泡、というわけではないけれど戸惑うところは多々ある。
まず、管理画面のインターフェースが変わった。正直なれるのには時間がかかる。どこに何があるのかわからないのだ。
そしてモジュール。ユーザ登録などはモジュール化されてしまっている(これはいいことかもしれない)。結局ここはハックする方法を再検討しなくてはならない。
あと、管理画面もテンプレート化された模様。これはちょっとうれしい。

さて、白扇後継モジュールの作成をどうするか考えないといけない。これはちょっとペンディングにしたほうがよさそうだ。少し動向を見守ってから開発に着手することにする。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net