Indexmenu プラグイン
トラブルシューティング
名前空間の区切り文字をスラッシュにしている場合、新規ページの作成に失敗する
- 2023/12、以下の更新が為された
- その後から、Indexmenuからの新規ページの作成ができなくなった。
管理者としてログインした状態で Indexmenu上で右クリックすると、メニューから新規ページの作成ができる(作成用のURLに飛ぶ)。
しかし、名前空間の区切り文字をスラッシュにしている場合、この更新のために作成用のURLに飛ぶ処理が上手く動かなくなった。
- 名前空間 aaa:bbb:ccc というページを作成する場合、これがページIDとなる
- 区切り文字をスラッシュとしている場合、ページIDは aaa/bbb/ccc となる
- ページIDは、エンコードされた上で、作成用のURLが生成される
- 今までは encodeURI() なのでスラッシュはエンコードされなかったが、上記の更新で encodeURIComponent() に変更されたため、ページID部分のスラッシュがエンコードされるようになってしまった
あるべき設計についてはわからないが、
- 区切り文字をスラッシュにしている場合でも、新規作成時のページIDは本来の区切り文字“:“が使われるべきで、上記の更新は正しく、ページIDとしてスラッシュが渡される実装の部分が間違っている?
- ページIDとしてスラッシュが渡されるのは正常な動作で、上記の更新がそれを忘れて行われてしまった誤った更新である?
ひとまず、上記の更新を手動でロールバックすれば元に戻る。
(プラグインのjsを更新後、何でもよいので管理画面からサイト設定を更新することで、jsの更新が反映される)