doudonn WEB制作やサーバーの話とかいろいろ

DokuWikiのDiscussion Pluginのコメント入力欄のカスタマイズ方法

doudonn 更新日:
DokuWikiのDiscussion Pluginのコメント入力欄のカスタマイズ方法

DokuWikiのDiscussion Pluginをカスタマイズ!

デフォルト状態だと使いにくいので、カスタマイズは必須です。
なんでこんなに不親切…と思わず頑張りたい。

サンプルは「東方ダンマクカグラ ファンタジア・ロスト有志攻略Wiki」を見てください。

※「2021-12-31」版での解説です。

1、やりたいこと

次の仕様に変更したい。

・メールアドレス入力欄を削除&入力必須にしない

・「フルネーム」を「名前」にして、「名無し」を初期状態にする

<こんな感じ>
DokuWikiのDiscussion Pluginのコメント入力欄

詳しくは上記のサンプルを見てみてください。

2、カスタマイズ手順

「/lib/plugins/discussion/action.php」を修正します。

※見やすくするためインデントは削除しています。

260行目

<変更箇所>


//if (empty($INPUT->str('name')) or empty($INPUT->str('mail'))) {
//    return;
//}

//if (!mail_isvalid($INPUT->str('mail'))) {
//    msg($lang['regbadmail'], -1);
//    return;
//} else {
    $comment['user']['id'] = ''; //prevent overlap with loggedin users, before: 'test<ipadress>'
    $comment['user']['name'] = hsc($INPUT->str('name'));
    $comment['user']['mail'] = hsc($INPUT->str('mail'));
//}

このようにコメントアウトしてください。

1059行目

<変更前>

<span><?php echo $lang['fullname'] ?>:</span>
<input type="text"
class="edit<?php if ($INPUT->str('comment') == 'add' && empty($INPUT->str('name'))) echo ' error' ?>"
name="name" id="discussion__comment_name" size="50" tabindex="1"
value="<?php echo hsc($INPUT->str('name')) ?>"/>

<変更後>

<span>名前:</span>
<input type="text"
class="edit<?php if ($INPUT->str('comment') == 'add' && empty($INPUT->str('name'))) echo ' error' ?>"
name="name" id="discussion__comment_name" size="50" tabindex="1"
value="<?php echo (!empty($_REQUEST['name'])? : "名無し")?>"/>

ここの名称は自由に設定ください。

1066~1074行目

<div class="comment_mail">
    <label class="block" for="discussion__comment_mail">
        <span><?php echo $lang['email'] ?>:</span>
        <input type="text"
               class="edit<?php if ($INPUT->str('comment') == 'add' && empty($INPUT->str('mail'))) echo ' error' ?>"
               name="mail" id="discussion__comment_mail" size="50" tabindex="2"
               value="<?php echo hsc($INPUT->str('mail')) ?>"/>
    </label>
</div>

この部分は丸ごと削除してください。
(<?php ?>で囲んで「/**/」でコメントアウトしても良い)

以上で完了です。

2、合わせてやりたいカスタマイズ

「最近のコメント」も表示しよう。

こちらの記事に書いているので是非挑戦してみてください。

DokuWikiに「最近のコメント」を実装する方法(Discussion Plugin)

--

DokuWikiの関連記事

記事一覧はこちら:DokuWiki

管理人について
doudonn
名前:doudonn(どうどん)
ひたすらWEB制作な人。
一応社長です。音ゲー好き

<Twitterはこちら>
ゲーム垢
WEB制作垢
お知らせ

2022年11月30日に全記事削除しました。
まだ再開に向け作りかけ。


無駄にページ表示速度にこだわってます。

役立ちサイト
wiki
© 2022-2023 doudonn All Rights Reserved.