ラムネグから一言:寝る前に読むとくだらなすぎて逆に寝れると好評なすごい適当なブログをこっちではじめてます.
wikiに投票機能を追加したい、っていうケースってまあまああると思います。
dokuwikiの場合、いくつかプラグインがある、というか過去あったんですが、今まともに動いているのは「doodle4」というプラグインのみ…。で、このプラグイン妙にこだわりすぎてて普通に投票機能をwikiに入れ込むには正直使いづらいんですよね。
「vote」という超シンプルな投票機能プラグインが20年前くらいにはあったみたいなんですが、更新が滞っていて今のdokuwikiに入れるとdokuwikiがクラッシュします。…私もあせりました。voteプラグインをインストールしたとたん、ものすごい大きなエラー表示が…。そして管理してる私はもちろん、他のwiki閲覧者さんもこのどでかいエラーを見ることになってしまいました。
ここではdokuwikiの最新バージョン「Librarian」でvoteプラグインを動かす方法について紹介しますね。
とりあえず2か所直せば動きます
とりあえず解決方法から。
dokuwiki/lib/plugins/vote/syntax.php
function handle($match, $state, $pos, Doku_Handler $handler) {
dokuwiki/lib/plugins/vote/syntax.php
function render($mode, Doku_Renderer $renderer, $data) {
このsyntax.phpはコード量少ないのですぐ見当たると思いますが、ソースコード内を「hundle」と「render」で調べた1行を上記コードに変えてください。
これでとりあえずvoteプラグインが最新版のdokuwikiでも正常に動きます。
私もdokuwikiのプラグイン界隈のことは詳しくないのですが、どうも最近のバージョンでプラグインの書き方がほんの少し変わったらしく、それに対応してないと過去のプラグインは使えなくなっているようです。
まとめ
今回はdokuwikiに投票機能を追加できるvoteプラグインを最新版のdokuwikiでも動くようにする方法を紹介しました。
うーん、正直こういうコア機能はプラグイン製作者さんに更新を丸投げするんじゃなくて、dokuwikiの開発側がある程度ケアしていってくれるとありがたいですよね。
【おしらせ、というか完全なる宣伝】
文体がもうぜんぜん適当すぎてあれだけどものすごい自由に書いてるブログ「檸檬だくだく」もよろしく.寝る前に読める恐ろしくくだらないやつです.
こんなにも一ミリも目を引かれないタイトルを取り扱ってます: ココア20g / ハイチュウとかってさ / なぜ米と小麦を食べようと思ったのかの謎 /

