ミニ白扇の使い方 (1)

Date 2006-08-27 17:05:28 | Category: XOOPS

in englishin japanese
XOOPS 2.0.x用モジュールとして放流しておきながら、あまりにもおざなりなドキュメントで申し訳なかったのですが、一応、ミニ白扇の使い方を書いておきます。

第1回は、登録画面とアカウント編集画面だけをカスタマイズしたい(それも項目の追加はなく、デザイン変更もしくは項目の削除だけがある)、という場合のやり方です。

minihakuのインストールそのものは、極めて簡単です。モジュールとしてインストールして、mainfile.php に1行追加するだけです。

これで、XOOPS 2.0.xではXoopsFormべた書きで、Hack以外には手の出せなかった登録画面とアカウント編集画面がテンプレート化されます。あとは、デザイナーにお任せすることができるわけです。

アカウント編集(minihaku_edituser.html)には、ICQだのAIMだの余計な項目がいっぱいあるはずです。それらをバシバシと削るのも自由です。

ただ、登録画面・アカウント編集画面のいずれもフォームであり、必須項目というのが存在します。例えば、ユーザ登録では、メールアドレスが必須項目になっているのですが、コミュニティによっては、メールアドレスが必要でないサイトもあります。この場合、フォームからメールアドレス項目を削るだけではうまく行きません。

これらの必須項目については、config.php で処理を行います。include/ フォルダの下に、config.php を作ってください。config.dist.php を config.php にリネームするのも手ですが、今回は新規に作成するのが良いでしょう。


<?php
$auto_belong_groups = array( XOOPS_GROUP_USERS ) ; // default (2)
$allow_blank_email = true ;
$allow_blank_vpass = true ;
?>


1行目はとりあえずここでは説明しません。config.phpに必要な行だとだけ覚えておいてください。

2行目の追加で、メールアドレス項目が必須ではなくなります。3行目の追加で、パスワード確認も意味を持たなくなりますので、やはりフォームから削除可能となります。(私自身、同じ文字列を二度タイプさせるインターフェースの効果には疑問があります。)

なお、フォームとは無関係の「アカウント情報」については、システムモジュールの system_userinfo.html を編集するだけです。これはミニ白扇がない場合と同様ですが、minihaku_edituser.html と項目を揃えることが出来る、というのがミニ白扇の意義となります。

とりあえず以上で第1回は終わりとしますが、Cube 2.1 であれば、ユーザ登録もアカウント編集も完全にテンプレート化されていますので、今回のようなケースでは、そもそもミニ白扇のようなフック処理自体、一切不要です。

XOOPS 2.0.x に存在していた未入力チェックのJavaScriptなどは廃されていますが、もともとXoopsFormの入力チェックなんて中途半端も良いところだったので、すべての妥当性検査をアクションフォームに任せる、というCube2.1の方向性には賛成です。

ただ、それでも、PHPカンファレンス2006での小山さんのデモを見てしまった後では、完全にPOSTされてからでないと妥当性検査を通過しないインターフェースは古めかしいなあ、なんて思えなくもありません




You can read more news at PEAK XOOPS.
http://xoops.peak.ne.jp

The URL for this story is:
http://xoops.peak.ne.jp/md/news/index.php?page=article&storyid=352