Not logged in. · Lost password · Register
Forum: Non-English Discussion Japanese discussion RSS
discussionプラグインでコメント欄が非表示になる
Avatar
hide #1
Member since Mar 2016 · 12 posts
Group memberships: Members
Show profile · Link to this post
Subject: discussionプラグインでコメント欄が非表示になる
discussionプラグインでコメントが非表示になってしまいます。
「デフォルトで全てのページにコメントセクションを追加(plugin»discussion»automatic)」でコメント欄を表示していますが、コメントがされているページを編集し、保存すると、そのタイミングでコメント欄が非表示なってしまいます。
管理画面の「コメントを承認する」ページで「非表示」から「オープン」に変更すれば表示されますが、都度行うのが大変手間です。
また、どういうタイミングかいまいち分かりませんが、気付いたら非表示になっていることもあります。

ネット上では、sidebarプラグインと併用で不具合があるとの情報は見つけましたが、sidebarプラグインは使用しておらず、原因がよく分かりません。
どなたか分かりますでしょうか?
Avatar
hide #2
Member since Mar 2016 · 12 posts
Group memberships: Members
Show profile · Link to this post
デバッグして調査しています。
コメントが投稿されているページを編集して保存したときの動作を見てみました。

action.phpの関数update_comment_status()内で、関数isDiscussionEnabled()を呼び出しているが、その中でプラグイン設定「上記オプションを元に戻す、名前空間の一覧(plugin»discussion»excluded_ns)」と名前空間を正規表現でマッチしているかどうかの処理があります。
そこで使用する、名前空間が入ってるはずのグローバル変数$INFOがNULLになっているため、本来表示になるはずが非表示になってしまっているようです。

なぜNULLになっているのか、イベントのタイミングをPARSER_METADATA_RENDERから別のものに変更すればいけるのか、いまいちまだよく分かりません。
Avatar
hide #3
Member since Mar 2016 · 12 posts
Group memberships: Members
Show profile · Link to this post
イベントPARSER_METADATA_RENDERの段階では、グローバル変数$INFOに値はまだ設定されていないようでした。
そのため、関数isDiscussionEnabled()を以下のように修正することで、対応しました。

■修正前
        global $INFO;

        if($this->getConf('excluded_ns') == '') {
            $isNamespaceExcluded = false;
        } else {
            $isNamespaceExcluded = preg_match($this->getConf('excluded_ns'), $INFO['namespace']);
        }

■修正後
        global $ID;

        if($this->getConf('excluded_ns') == '') {
            $isNamespaceExcluded = false;
        } else {
            $isNamespaceExcluded = preg_match($this->getConf('excluded_ns'), getNS($ID));
        }
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Imprint
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Current time: 2018-12-14, 23:00:50 (UTC +01:00)