フォーラム投稿を分割する際に本文がセンタリングされるバグ

フォーラム投稿を分割する際に本文がセンタリングされるバグ

- Tatsuya Shirai の投稿
返信数: 2

 フォーラム投稿のうち,ディスカッショントピックスに対する返信を新たなディスカッショントピックスに”分割”する機能があります.あまり頻繁に使うものではないのですが,本日の午前中に試したところ,添付した図のように確認画面で全ての内容がセンタリングされてビックリしました.

 実害はありません.あくまでビックリさせられるだけです.

 この原因は,mod/forum/post.phpの420行目近辺,
        if (!empty($name) && confirm_sesskey()) {    // User has confirmed the prune
に対する,
   } else {
のブロック中にあります.

            print_heading(get_string('pruneheading', 'forum'));
            echo '<center>';

            include('prune.html');

            echo '</center>';  // 追加.というか,下の同じ文をここに移動.

            forum_print_post($post, $discussion, $forum, $cm, $course, false, false, false);
//          echo '</center>';
        }
        print_footer($course);
        die;
    } else {

本来は”ディスカッション名”のテキスト入力エリアと”分割”ボタンの二つのフォーム(これはprune.htmlそのものです)だけをセンタリングすれば良い.勿論,確認のための表示したフォーラム投稿(tableで構成)をセンタリングして画面中央に表示したかったのだと思うが,(少なくとも私のIE7では)表の中身もセンタリングされてしまった.

 オリジナルでは,青い行の<center>に対する</center>がforum_print_post()の後にあるのだが,これを手前に移せば問題は解決する.多分,これはprune.html中の<form>を<div>で括ってCSSでセンタリングするべきなのでしょうね.

 さらに上記修正は,echo '<center>';をecho '<div align="center">;',echo '</center>'; を echo '</div>';とするのが比較的新しい書き方なのでしょうか.(id=にしてCSSを使うのがベターでしょうか)

添付 prune.jpg
Tatsuya Shirai への返信

Re: フォーラム投稿を分割する際に本文がセンタリングされるバグ

- Haruhiko Okumura の投稿
某所での話題にも関係しますね。^^;

Validator にかけると div align=... は多分 deprecated 云々というエラーが出るかと思います。class= にしてCSSに書くのが面倒なら,

<div style="text-align: center">

にすればとりあえず逃げられます(スタイルと内容を分離するという意味ではまずいのですが)。
Haruhiko Okumura への返信

Re: フォーラム投稿を分割する際に本文がセンタリングされるバグ

- Tatsuya Shirai の投稿

 さて,どのように対象されるのかは分かりませんが,MDL-20174に報告しました.優先度は最低にしましたので,対処もしばらく先でしょう.<center>を使わずに,なんらかのCSSを流用して対応される,というところまで目が行くと良いですね.

 Validationに関しては,私もまだ何箇所かで <br/> (<br />ではなく)を使っていたり,さらに<input ほにゃらら> (最後に/を忘れている)といった感じですので,強く主張はできません^^; いつかきちんとXHTMLを勉強する余裕ができると良いですね.たとえば授業で教えることになるとか(:これが一番の早道!).


あ,しまった,サンプル画像,日本語のままでアップしてしまいました.ま,まぁ通じますよね.