テンプレートの仕様が変わったものの、基本的には以前のバージョンと同じでいける。今回はHTMLを独自に作らず、MT4オリジナルのものをそのままする。自分で考えると大変だし、PHP化が面倒なmt-search.cgiとかを考えるとそのままが楽だ。CSSもオリジナルが使えるので楽ちん(そればっかだ)。いつもどおり?手順メモ
手順自体はこんな感じ。俺のMTは言語設定英語にしてるから適当に日本語に置き換えてくだせえ
1) 出力ファイルの拡張子をphpにする。
2) header.php, footer.php, sidebar.php を作成する。
3) main_index, ArchiveTemplatesのEntry,Entry Listing,PageとかのMTIncludeを置き換えてごにょごにょ
MT4では <$MTinclude$> でモジュールを引っ張りまくってるわけだが、その中には再利用可能なパーツも多い。Header、Footer、SideBarは全ページで共通化できる部分なのでそこを置き換えるわけだ。
しかしheader.phpではタイトルを可変にしたいのでタイトルタグを以下のように置き換える。
<title><$MTBlogName encode_html="1"$><?php echo (isset($title))?"::$title":""; ?></title>
呼び出し元はMTIncludeの代わりにこんな感じのコードをつっこむ。
<?php
$title = "<$MTEntryTitle$>";
include "<$MTBlogSitePath$>header.php";
?>
こうすればページ毎にタイトルが可変になる。$titleをセットしないmain_indexだけサイト名のみになるわけだ。
SidebarとFootbarはそれぞれincludeするだけ。Sidebarは元々main_indexで設定してある MTSetVar の値をsidebar本体でセットしないと上手い具合に動いてくれないので注意が必要。
で 効果のほうはというと、確実に再構築は早くなった。Header,Sidebar,Footerを全て使いまわすことでWEBサイトに統一感を出せるのも良い。しばらくはこれでいこう。気がむいたら他の部分にも手をいれたいなあ・・・
-- 追記
あたりまえだがタイトルに"を入れたらエラーでた。そこまで頭回らなかったなあ・・・ とりあえずタイトルには文字参照で入れるとしよう。
コメント