【解決済】dokuwikiのサイドバーのアクティブが動かないときの対処法

製作 プログラム

最終更新日:2019/10/08

ラムネグから一言:無料アプリを3つ作りました。記事下部にリンクがあるので見てみてくださいね。さっそくみてみる

dokuwikiを使っていてふと気づくとサイドバーのアクティブ項目がぜんっぜん動いてないことがあります。

どうやら最後に編集したページが太字だったり色付きだったり(使っているテンプレートによってデザインは違います)とアクティブなページとして認識されているみたい…。

ここではdokuwikiのサイドバーのアクティブが動かないときの治し方を紹介します。

  1. キャッシュを無効に
  2. なぜなの?
  3. 起こったり起こらなかったり…
  4. まとめ

キャッシュを無効に

もうこれだけ。サイドバーのキャッシュを無効にしてください。これだけでアクティブなページがちゃんと今閲覧しているページになります。

sidebarの編集画面で以下の一行を追加

~~NOCACHE~~

なぜなの?

なんで今見ているページをアクティブにするんじゃなくって最後に編集したページをアクティブとしてしまうか、ですが正直なんでそんな不思議な動きになるのか厳密にはわたしもわかりません。dokuwikiは難しいですね。

推測ですがdokuwikiには各ページを内部でキャッシュする仕組みがあるのでサイドバーについてもある特定の状態のサイドバーをそのままキャッシュしてしまうんだと思います。

そしてそのサイドバーのキャッシュが行われるのがページを更新したタイミングなんじゃないかなと。

こうなるとページを更新したタイミングではアクティブなページはいま編集していたページなのでそこがアクティブになっている。その状態をそのままキャッシュするから後からほかのページに移ってもサイドバーのアクティブはずっとキャッシュした状態のまま、というわけです。

起こったり起こらなかったり…

ただなんでsidebarのキャッシュがされてしまってこのような不具合が出るときと普通にサイドバーが表示されているときとがあるのかは説明がつきません。

dokuwikiの内部で何かのトリガーがあるのか…。うーん、これ以上はdokuwikiのコードを読まないといけないので止めておきます。

まとめ

ここではdokuwikiのsidebarのアクティブページが動かずに最後に編集したページのままになってしまう現象の解決方法を紹介しました。

sidebarのキャッシュを無効にすれば解決はするのですが、なんでこの不具合が起こったり起こらなかったりするのかはわたしもわかっていません。

まあアクティブの表示が動かないのはそこまでクリティカルな問題じゃないと思うので割り切っていきましょう。

【どどん!】ラムネグではただいまアプリを絶賛提供中!さあ、選べる3つの無料アプリ!あなたはどれにする?

【わたガチャ】

あなただけのガチャを作ろう♪

すたーと!

【みんガチャ】

みんなで一つのガチャを作りあげよう♪

すたーと!

【litty-リティ】

秘密のメッセージをフォロワーさんに送っちゃおう!

すたーと!