はじめに

MovableType Version 3.151-ja のスキン(スタイルシート)をスタイルシートチェンジャーで切り替えられるようにする方法です。が、私はMovableTypeに関してはローカルサーバでとりあえず動作するようにした程度の知識と経験しかありません。このページを参考にスタイルシートチェンジャーを導入する際は、万が一の為に必ずバックアップしてからにしてください。

スタイルシートチェンジャーはPHPスクリプトですので、MovableTypeが動作する環境+PHP ver.4.01以上の動作する環境が必要です。

どうするのかと言うと

MovableTypeの出力するページの拡張子をPHPスクリプトが動作する”php”に変更して、テンプレートで setstyle.php と chgstyle.php をインクルードするだけです。ただし、コメントの確認などの動的ページに対しては反映されないのがちょっとね。方法がない訳でもないんだけどそこまでやらなくてもいいかと…。実際にどうしたらいいか分からない人は以下の説明を参考にしてください。

まずは、mt.cgiにアクセスしてログインします。ちゃんとログインできたら対象のウェブログのリンクをクリックし、「管理メニュー」の「テンプレート」のリンクをクリックします。

メインページのテンプレートを変更する

  1. 「インデックス・テンプレート」の「メインページ」のリンクをクリックします。
  2. 「出力ファイル名」を”index.html”から”index.php”に変更します。
  3. 「テンプレートの中身」の<link rel="stylesheet" href="<$MTBlogURL$>styles-site.css" type="text/css" />を削除して、<?php include("<$MTBlogSitePath$>chgstyle.php"); ?>を挿入します。
  4. 「テンプレートの中身」のスキン切替フォームを表示したい場所に、<?php include("<$MTBlogSitePath$>setstyle.php"); ?>を挿入します。
  5. 保存ボタンをクリックします。

テンプレート内の<$MTBlogSitePath$>はウェブログの「基本設定」の「ローカル・サイト・パス」になります。

アーカイブページのテンプレートを変更する

  1. 「インデックス・テンプレート」の「アーカイブページ」のリンクをクリックします。
  2. 「出力ファイル名」を”archives.html”から”archives.php”に変更します。
  3. 「テンプレートの中身」の<link rel="stylesheet" href="<$MTBlogURL$>styles-site.css" type="text/css" />を削除して、<?php include("<$MTBlogSitePath$>chgstyle.php"); ?>を挿入します。
  4. 保存ボタンをクリックします。

アーカイブに関連したテンプレートを変更する

「アーカイブに関連したテンプレート」の「カテゴリー・アーカイブ」、「個別エントリーアーカイブ」、「日付アーカイブ」に対しては、「テンプレートの中身」だけをアーカイブページのテンプレートを変更するの3と同様に変更し保存します。

サイトを再構築する

以上、すべて変更して保存できたら、「ユーティリティー」の「サイトの再構築」をクリックします。「サイトの再構築」のポップアップウィンドウが出たら「すべてを再構築する」を選択して再構築ボタンをクリックします。

再構築が終了したらウェブログに普通にアクセスして、CSS切替フォームが表示されているか、ちゃんと切り替えられるか確認します。PHPのエラーが出たりちゃんと切り替えられない時は、たぶんパス指定に問題があるはずです。

スタイルシートチェンジャーのアップロード場所と修正

アップロード場所

setstyle.php と chgstyle.php は mt.cgi と同じ場所にアップロードします。

設定はスタイルシートチェンジャーの説明ページを参考にしてください。ファイルやURLの設定は絶対パス指定がおすすめです。切り替え用のCSSにはMovableTypeデフォルトの styles-site.css も入れておいた方がいいでしょう。

スクリプトの修正

XHTMLでは終了タグの省略と属性の最小化はできないのでちゃんと修正しておきましょう。

setstyle.phpの
echo "<option value=\"{$i}\" selected>{$css_title[$i]}</option>\n";
を
echo "<option value=\"{$i}\" selected=\"selected\">{$css_title[$i]}</option>\n";
に
echo "<input type=\"submit\" value=\"変更\">\n";
を
echo "<input type=\"submit\" value=\"変更\" />\n";
に

chgstyle.phpの
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"{$css_url[0]}\">\n";
を
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"{$css_url[0]}\" />\n";
に

それぞれ書き換えます。

Copyright (c) 2003-2006 Teal All Rights Reserved.