質問箱5/133

カテゴリエラー・トラブル
サマリ#popular に false を指定しても通算の参照回数順にならない
バージョン1.4.7
投稿者もっちゃん?
状態完了
投稿日2013-04-13 (土) 11:09:16

質問

#popular( [[件数] [,[対象外ページ] [,true|false] ]] )

の第 3 パラメタに false を指定しても、今日参照のあった回数順で表示されます。

http://php.net/manual/ja/types.comparisons.php によれば、 "false" は TRUE なので、コードかヘルプの修正が必要と思われます。

通算の参照回数順は第 3 パラメタを省略するか 0 を指定して回避しています。

回答

  • なんとなく掘り起こし
    * [Usage]
    *   #popular
    *   #popular(20)
    *   #popular(20,FrontPage|MenuBar)
    *   #popular(20,FrontPage|MenuBar,true)
    *
    * [Arguments]
    *   1 - 表示する件数                             default 10
    *   2 - 表示させないページの正規表現             default なし
    *   3 - 通算(true)か今日(false)の一覧かのフラグ  default false
    ソースコード上のヘルプでデフォルトはfalse と [Arguments] に書かれてはいますが、false を明示指定できるとまでは書かれてなかったり(ON限定フラグなのか、それともONとOFFを切り替えできるスイッチなのか・・・・・) -- 2015-01-12 (月) 22:27:05
    • ヘルプの記述と if ($array[2]) な判定、どちらを修正するようにBugTrackを出すといいのかやら・・・・・(フラグっぽい文字列以外であっても受け入れてしまうルーズさを、バグっぽい仕様とするかどうかで変わりますし) -- 2015-01-12 (月) 22:27:05
  • popularが正しく表示されない!と色々試した挙句、ここにたどり着きました。 -- 2015-03-05 (木) 00:32:32
  • (失礼、続き)投稿者の方のおっしゃる通り、第3引数は文字列が入れば何でもtrue(=今日)、何も書かないか0ならfalse(=累計)と判断しているようです。 -- 2015-03-05 (木) 00:34:23
  • () -- 2015-03-05 (木) 00:34:27
  • (続続)さらにややこしいことに、このプラグインは最初の引数を件数、(あれば)2番目の引数を除外ページ、(あれば)3番目の引数を今日/累計フラグと判断しているため、例えば#popular(10,today)と書いてしまうと、(todayというページがない限り)累計の結果が出てしまうのです。(他のプラグインではある程度融通を効かせて判断してくれるような気がするのですが…?この辺り当方知識がないため分かりません) とにかく、プラグインマニュアルのページを誤りなきよう書き換えた方がいいのではないでしょうか? -- 2015-03-05 (木) 00:39:45
  • ↑具体的には、1.表示対象外のページがなくても「,」を省略しないこと、2.第3引数は、累計→無記入か0、今日→0以外の文字列(today、true、false、hoge、…なんでも)  など。いかがでしょうか。 -- 2015-03-05 (木) 00:45:16
  • ソースコードに欠陥(初期値の設定)があるので 修正が必要です。 -- 2015-03-07 (土) 12:45:16
  • dev:BugTrack/2425 としてバグ登録し、修正しました -- umorigu 2017-06-22 (木) 00:58:51


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-06-22 (木) 00:59:03
Site admin: PukiWiki Development Team

PukiWiki 1.5.1+ © 2001-2016 PukiWiki Development Team. Powered by PHP 5.6.30-0+deb8u1. HTML convert time: 0.360 sec.

OSDN