コース参加者リストのフィルタの日本語対応について

コース参加者リストのフィルタの日本語対応について

- udagawa mitsuru の投稿
返信数: 0

うだがわです。

利用者よりコース参加者リストで目的のユーザを探すのに手間が掛かり、A-Zで表示されているユーザリストを日本語対応できないかと問い合わせがあり、考えてみた結果以下のような改良案を思いつきました。
ただ、もう少し使いやすく出来ないかと考えあぐねているため、皆様のご意見を頂きたいと考えています。

Moodleのソース書き換えは以下のようになっています。

・画面上部のA-Zのアルファベットをあ-んA-Zに拡張

$ cat moodledata/lang/ja_local/langconfig.php
<?php
$string['alphabet'] = 'ア,イ,ウ,エ,オ,カ,キ,ク,ケ,コ,サ,シ,ス,セ,ソ,タ,チ,ツ,テ,ト,ナ,ニ,ヌ,ネ,ノ,ハ,ヒ,フ,ヘ,ホ,マ,ミ,ム,メ,モ,ヤ,ユ,ヨ,ラ,リ,ル,レ,ロ,ワ,ヲ,ン'
                     .',ガ,ギ,グ,ゲ,ゴ,ザ,ジ,ズ,ゼ,ゾ,ダ,ヂ,ヅ,デ,ド,バ,ビ,ブ,ベ,ボ,パ,ピ,プ,ペ,ポ'
                     .',A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z';


・画面上部の文字でフリガナを検索対象に追加する

$ diff lib/tablelib.php.bak lib/tablelib.php
620c620,621
<                 $conditions[] = $DB->sql_like('firstname', ':ifirstc'.$i, false, false);
---
>                 $conditionsfirst = array();
>                 $conditionsfirst[] = $DB->sql_like('firstname', ':ifirstc'.$i, false, false);
621a623,625
>                 $conditionsfirst[] = $DB->sql_like('firstnamephonetic', ':ifirstpc'.$i, false, false);
>                 $params['ifirstpc'.$i] = $this->sess->i_first.'%';
>                 $conditions[] = implode(" OR ", $conditionsfirst);
624c628,629
<                 $conditions[] = $DB->sql_like('lastname', ':ilastc'.$i, false, false);
---
>                 $conditionslast = array();
>                 $conditionslast[] = $DB->sql_like('lastname', ':ilastc'.$i, false, false);
625a631,633
>                 $conditionslast[] = $DB->sql_like('lastnamephonetic', ':ilastpc'.$i, false, false);
>                 $params['ilastpc'.$i] = $this->sess->i_last.'%';
>                 $conditions[] = implode(" OR ", $conditionslast);


・画面下部の検索ボックスでフリガナを検索対象に追加にする

$ diff user/index.php.bak user/index.php
461a462
>     $fullnamephonetic = $DB->sql_fullname('u.firstnamephonetic', 'u.lastnamephonetic');
463,464c464,466
<                 " OR ". $DB->sql_like('email', ':search2', false, false) .
<                 " OR ". $DB->sql_like('idnumber', ':search3', false, false) .") ";
---
>                 " OR ". $DB->sql_like($fullnamephonetic, ':search2', false, false) .
>                 " OR ". $DB->sql_like('email', ':search3', false, false) .
>                 " OR ". $DB->sql_like('idnumber', ':search4', false, false) .") ";
467a470
>     $params['search4'] = "%$search%";

添付 img.png
最大評点: お役立ち度: ★★★★★★★ (2)