xoops備忘録 色々設定編2(PM追記とメニュー管理)

0 Comments

プライベートメッセージ機能を運用すると、今まではプルダウンで送信先ユーザー名を選べたのができなくなってしまっているようだ。これでは塾生が先生に質問したくても宛先が分からないので質問ができない。
ということで、以下の変更を行う。
templates
/message_new.htmlの26行目

<tr><td class="head"><{$smarty.const._MD_MESSAGE_TEMPLATE2}></td><td class="even"><{xoops_input name=uname size=30 maxlength=50 value=$mActionForm->get('uname')}></td></tr>

<tr><td class="head"><{$smarty.const._MD_MESSAGE_TEMPLATE2}></td><td class="even"><{message_userlist uname=$mActionForm->get('uname')}></td></tr>

に書き換えることでユーザ名を直接入力からリスト選択へ変更出来ます。

<tr><td class="head"><{$smarty.const._MD_MESSAGE_TEMPLATE2}></td><td class="even"><{message_suggestlist uname=$mActionForm->get('uname')}></td></tr>

に書き換えることでオートコンプリートのテキストボックスが利用出来るようになる。つまり、登録されている誰かを自動補完してくれるようになるということです。例えば、DANZENに送ろうとするとDと入力すれば、daiとかDANZENとかが自動的に現れるわけです。

さらに親切にこれまでのようなお友達にも送りたいだろうという声にも応えるべく、同じクラスの生徒は検索できるような機能をつけることとした。jukuseiモジュールを設置してusername.phpファイルをアップロードしないと機能しないのはいうまでもない。
同じくテンプレートのmessage_new.htmlの最終行

</form>

の下に以下を追加する。

<br>
<table border="0">
<tr bgcolor="#00a000">
<td><div align="center"><font color="#ffffff"><EM STYLE="font-size: large;"><a href= "https://studio-puchi.com/top/modules/jukusei/username.php" style="color:#ffffff;text-decoration:none">【送信先のユーザー名が分からないとき】<br>クリックすると先生とクラスの友達一覧が表示されます</a></EM></font></div></td></tr>
</table>

これでお友達と先生の一覧が表示されるようなるはず。


さて、左サイドブロックに現れるメニュー管理であるが、デフォルトではユーザーメニューとメインメニューとなっている。
ユーザーメニューは特に問題なく、全ページを全ユーザーが表示対象とすればいい。
問題はメインメニューである。ここは管理者以外を非表示にしておいて、それぞれのグループ別にメインメニューを作る方がいい。いろいろなメニューが自動生成されて予期しないモジュールにアクセスできたりするのを防ぐため。(例えば前に設定したのプライベートメッセージモジュールについても、自動生成されたメニューからアクセスできることで受け取り拒否ユーザーの設定ができるページへたどり着いたりしてしまう)
まずは「マルチメニュー」というモジュールを「導入・アップデート管理」よりインストールする。

マルチメニュー2(別に他の番号でも構わない)をゲスト用にするた
め管理画面-マルチメニュー-設定:マルチメニュー02から
機能の編集を選び
タイトルに「ホーム」
リンクに「https://top-semi.com/top/」
隠すは「いいえ」
表示先は「self」
グループを「ゲスト」とする。
ALTSYSのブロック管理よりマルチメニューを選択し、マルチメニュー2の名前を「メインメニュー」とし、表示サイドは左端。優先度を設定し、全ページとゲストを選択しておく。
これで常に訪問者に「ホーム」が表示されるようになる。

同じようにメニューを増やすことで「校舎案内」「塾長あいさつ」「コース案内」「パンフレット」「合格実績」「問合せ」などの項目を増やしていける。ログインしていないユーザーに必要なメニューを作り上げることになる。

ログイン後は各グループに必要なメニューを同じように作成して表示させれば良い。

メニューの各項目はモジュールをインストールしないとリンクが機能しない(カスタムブロックでページを作成してもリンクを貼れない)ため、一例として「校舎案内」についての作業を記録する。

まずはモジュールのインストール準備から。「kousya」フォルダを作成し、幅92*高さ49でlogo.gifを作成して放り込む。校舎という名前が分かるようなロゴが良い。モジュール内のファイル構成は既存のkousyaフォルダ内を参照すべし。

モジュールのインストールをしたら互換モジュール-モジュールの管理からモジュール名を「校舎所在地」とつける。

ALTSYSのブロックの管理-のアクセス権限のゲストの項目「校舎所在地 (1.00) モジュールアクセス権限」のみチェックする。

管理画面のマルチメニューから設定:マルチメニュー2を選択し、リンク追加ボタンを押す。
タイトルに「校舎所在地」
リンクに「[kousya]index.php」
隠すは「いいえ」
表示先は「self」
グループを「ゲスト」とする。

これで完了。同じ要領でゲストメニューを増やしていける。(同様の方法で塾生メニューも構築すること)

Categories:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です