MT テンプレートモジュール

どうにかしてPHP機能を使いながら、リビルドしてもパーミッションが元に戻らない方法がないかと模索したが私にはわからない。PHPとしての機能を使ってinclude する時、代入される方のファイルは .html ファイルでも可能かどうか試した。リビルドエラーにはならないが表示された画面では、何故かスタイルが崩れてダメだった。PHP機能を使うんだから違う拡張子ではダメなのかも。

またアーカイブテンプレートのサイド部分はインデックステンプレートとして部品化できたが、それ以外のボディやヘッダー部分はインデックステンプレートとして作成できない。アーカイブだからインデックステンプレートが作成できないようになっているのか、これもよくわからない。またはインデックスでは使えないアーカイブ専用のタグが入っているのか。

そして、なんとかパーミッション変更によるエラー表示をさせないために、アーカイブの拡張子を .html か .php にしてリビルドの速さも比較してみたかったが、カテゴリーとマンスリーのアーカイブにページ分割のプラグインを導入したので、そのためにはPHPファイルとして拡張子 .cgi を変更できないので、相変わらずパーミッションもその都度変更しなければならないというのが現状。

そこで最終的にはMTのテンプレートモジュールにした。一度はこれでフッターを付けてみたものの、HTMLのように生成が遅いのかと思いまたはずしていた。しかしあるサイトでは、PHPの include にしなくてもこのMTモジュールを使えば良いと書かれていた。でも私にはその違いが良くわからないが、このiswebベーシックでリビルド時タイムアウトの500エラーにならないようにしたいだけ。このモジュールでしばらく様子を見る。

参考にさせていただいたサイト
BLOG LABさん
Stomach’N HeadAcheさん

MTモジュールの使い方

  • 【Templateの編集】→【新しいTemplateModuleを作る】をクリック。
  • 【Templateの名前】欄に、任意の名前を付ける。【このTemplateをリンクするファイル】欄は何も書かない。
  • アーカイブの各テンプレートで部品化したい部分を切り取り、【Moduleの中身】欄にペーストし、【SAVE】ボタンを押す。
  • アーカイブの各テンプレートで切り取った部分には以下のタグを入れる。○○にTemplateファイルの名前を入れる。
  • < $MTInclude module="○○"$>

  • アーカイブテンプレートを【SAVE】して【リビルド】する。iswebベーシックの場合はリビルドしたファイルをFTPソフトでパーミッション変更する。
  • 追記
    以前はうまくいったのに、今回何度やってもフッターじゃなく上に出てしまう。そう、まるでヘッダーだよ。float の設定とか、もっとよく調べなきゃ。

    パーミッションが元に戻る現象について、これは既出のコメント投稿、エントリの新規投稿や編集でも同じだが、こちらからFTPソフトでパーミッションを元に戻さないとならない。それがどうやら、そのエントリの前後のエントリにまで及ぶことが分かった。(いまさら・・・)

    例えば、10月17日のエントリだったら10月16日と10月18日(インディビデュアルアーカイブ)、そして9月と11月(マンスリーアーカイブ)、そのエントリのカテゴリーアーカイブがリビルドされている。めんどくさいから全部選択して全部属性変更してやる。