一時は心中してもいいとさえ思っていたExpressionEngineから今回、Movable Type 5に乗りえた。
2004年から現在までこのサイトのブログエンジンは、
- Movable Type 3
- Nucleus
- MODx + WordPress
- ExpressionEngine
と変遷をたどってきたけど、ここへ来て再びMovable Typeに回帰するということになった。
もともと複数のブログが動かせるのがMTの特徴だったけど、MT5になってから複数のサイトを管理できるようになって、CMSとしての使い勝手がさらによくなった。昔はスタティックでいちいち再構築しなければならないのがネックで使うのをやめたけど、最近のMTはダイナミックパブリッシングがわりと使えるようになったので、他のPHPベースのブログエンジンと遜色ないどころか、管理画面のUIやテンプレートタグのわかりやすさなども考え合わせると、CMSとしては断トツでトップなのではないかと思うようになった。しかも世の中はWordPress全盛でマイナーな存在になりつつあるところもまた好感が持てたりする。
MT5で唯一不満なのが、画像のアップロードディレクトリを任意の場所に設定できないということだ。
今まで当サイトでは、画像は、lazycamera.com/uploads/に置いてきた。ブログ用の画像は、
lazycamera.com/uploads/weblog/
プロフィールページ用の画像は、
lazycamera.com/uploads/profile/
というふうに画像用ディレクトリの中でカテゴリ分けをしている状態だ。こうしておけば、画像は必ずlazycamera.com/uploads/以下のディレクトリに入っているということになるので後々のメンテナンスが楽になる。
しかし、MTの場合、たとえばこのサイトのようにルートディレクトリ lazycamera.com/を「ウェブサイト」、lazycamera.com/weblog/を「ブログ」に設定して、ブログから画像をアップロードしようと思うと、lazycamera.com/weblog/より下のディレクトリにしかアップすることができない。これでは、各ブログごとにそれぞれ別の場所に画像ディレクトリができてしまうことになって都合が悪い。
極力コアファイルを触ることなく、どうにかして任意の場所に画像をアップロードできるようにしたいといろいろと試行錯誤した結果、ちょっと強引だが解決法を見つけたので備忘録として書いておきたい。
MT5のブログで任意のディレクトリに画像をアップロードする方法を考えてみた の続きを読む