ウェブページは便利だが
MTおよびMTOSにウェブページという機能が追加された。ブログの記事とは別の、静的で(もともとMTは静的だが)、カテゴリに属さないページがウェブページだ。会社案内や特定商取引法のページをウェブページにすると便利だ という記事は以前に書いている。
ウェブページはWordPressのpageと同じ
実はMTのライバルであるWordPressはもっと前から同じような機能を持っていた。pageという名前だ。ページとpageでややこしく、説明が混乱しがちだったので、MTではウェブページとしたのだろうか?
ウェブページの追加で新たな問題が
pageにしろ、ウェブページにしろ、便利な機能であることは間違いない。ただ、MTOSの場合、困ったことが発生する。
ウェブページはグループ別にフォルダの下に配置できる。ファイルが整理できるので、ここまではOKだ。しかし、特定のフォルダの下のウェブページを表示するようなテンプレートを作った場合、テンプレートの初期化時点で、その特定のフォルダのウェブページがないと、なんと再構築でエラーとなってしまう。それも、フォルダがありません などというエラーメッセージではなく、DBI.pm云々というデータベースがらみのメッセージが出てくるから焦ってしまう。
事前に所定のフォルダを指定してウェブページを作ってから再構築すればエラーは解消されるが、テンプレートをダウンロードしたら再構築するのが一般的だ。再構築前にウェブページを作っておくことはないだろうし、ただでさえたいへんなテンプレートの初期化時に、そこまでやるのは面倒だ。テンプレートと同時にウェブページまで配布するわけにもいかない。
ウェブページとブログ記事がバッティングしてしまう
というわけで、MTOSビジネステンプレートではウェブページのフォルダ化はやめることにした。すると、フォルダのないウェブページとカテゴリに属さないブログ記事の出力ファイルがバッティングする という新たな問題が発生する。
アーカイブマッピングが原因
ウェブページのウェブページのアーカイブマッピング(分かりにくい名前だが、再構築時の出力先のことだ)は フォルダ/記事番号.htmlとなっている。 informationフォルダを指定した場合は、information/post-2.html という具合だ。フォルダがない場合は post-2.html だ。
ブログ記事は通常 カテゴリ/サブカテゴリ/記事番号.html だ。categoryP の記事は categoryP/post-2.htmlだ。カテゴリのない記事の場合、post-2.html となる。つまり、ウェブページもブログ記事も同じ ファイル名となってしまうという問題だ。
解決するには、テンプレートのアーカイブマッピングをカスタムに変更するしかない。