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 ;
?>
GIJOE wrotes:<br />が間に挟まるのが嫌で、あえてこの順番にした、という手抜きな経緯があったりします'stop_reasons' => array_merge( $stop_reason_extras , $stop_reasons ) ,
'stop_reasons' => array_merge( $stop_reason_extras , $stop_reasons ) ,
if( ! empty( $_POST['do_register'] )){
if($_POST['familyname']==''){
$stop_reason_extras[] = "姓は入力必須項目です。<br />";
}
}
if( ! empty( $_POST['do_register'] ) && empty( $stop_reason_extras ) && ! ( $stop_reason = userCheck( $allowed_requests['uname'] , $email4check , $allowed_requests['pass'] , $allowed_requests['vpass'] ) ) ) {
if( ! empty( $_POST['do_register'] ))$stop_reason = userCheck( $allowed_requests['uname'] , $email4check , $allowed_requests['pass'] , $allowed_requests['vpass'] );
if( ! empty( $_POST['do_register'] ) && empty( $stop_reason_extras ) && empty( $stop_reason ) ) {
'stop_reasons' => array_merge( $stop_reason_extras , $stop_reasons ) ,
'stop_reasons' => array_merge( $stop_reasons , $stop_reason_extras ) ,
<ul>
<{foreach from=$stop_reasons item="reason"}>
<li><strong style='color:#ff0000; font-weight:bold;'><{$reason}></strong></li>
<{/foreach}>
</ul>
jidaikobo wrotes:
die するんだったら config.php で完結するのかなーと思うんですが、せっかくなので、XOOPS の表示にあわせられないかなといじってみたんですが、
<span style='color:#ff0000; font-weight:bold;'>
<{foreach from=$stop_reasons item="reason"}>
<{$reason}><br />
<{/foreach}>
</span>
jidaikobo wrotes:
僕のコメント投稿の BB code 表示も直してくださったんですね。ありがとうございました。あれ? とおもったんですが、放置してしまいました
ちなみに文例なので、修正の必要があるかどうか分らないんですが、ミニ白扇の使い方 (4)でも、false 表記になっています。いちおうお伝えまで。
すり抜け方そのものは結構泥臭いですよ〜
// request maintenances
$stop_reason_extra_fields = '';
if( ! empty( $_POST['do_register'] )){
if($_POST['code_a']==''){
$stop_reason_extra_fields .= "コードAは入力必須項目です。<br />";
}
if($_POST['code_b']==''){
$stop_reason_extra_fields .= "コードBは入力必須項目です。<br />";
}
}
if( ! empty( $_POST['do_register'] ) && ! ( $stop_reason = userCheck( $allowed_requests['uname'] , $email4check , $allowed_requests['pass'] , $allowed_requests['vpass'] ) ) && $stop_reason_extra_fields=='' ) {
include XOOPS_ROOT_PATH.'/header.php' ;
+ $stop_reason .= $stop_reason_extra_fields;
$xoopsOption['template_main'] = 'minihaku_register.html' ;
+ if (!$stop_reason_extra_fields == ''){
+ $errors[] = $stop_reason_extra_fields;
+ }
if (count($errors) > 0) {