« Movable Type 3.34日本語版が公開されました | メイン | Movable Type 3.35日本語版が公開されました »

2007年4月 2日

すべてのアーカイブでサイドバーを共通にする[ カスタマイズ ]

現在、レンタルサーバチカッパ!で、Aquarium RecordsというサイトをMTを使って構築しています。
先日、このサイトのリニューアルを行った際に、すべてのアーカイブで共通のサイドバーを表示させてみました。
このカスタマイズで、再構築の負荷も低くなるし、アーカイブごとの見栄えも揃えられるので、メリットが多いのではないかと思います。
具体的な手順は以下の通りです。

【追記】
その後、情報をもう少しすっきりさせたいということで、Aquarium Recordsのサイドバーは、結構シンプルなものになりました。

1.「.htaccess」ファイルをブログの公開ディレクトリに置く

今回のカスタマイズではPHPの機能を使いますが、リニューアル前のパーマリンクは崩したくありません。
というわけで、拡張子htmlのファイルでもPHPとして処理されるようにします。

以下の内容で「.htaccess」ファイルを作成します。

AddType application/x-httpd-php .php .php4 .php3 .phtml .html

作業する環境によっては、.htaccessファイルを作成できない場合もあると思うので、例えば、01.htaccessみたいなファイル名にして、前記の内容を記述し、サーバにアップロードした後に、リネームすると良いかもしれません。

2.サイドバー用のテンプレートを作成する

以下の内容でインデックステンプレートを新規作成します。

テンプレート名 : Side bar
出力ファイル名 : _side.html

テンプレートの内容 :

<$MTWidgetManager name="First Widget Manager"$>

すべてのアーカイブから、このテンプレートによって吐き出されるhtmlを読み込むことになります。
テンプレートの内容は、WidgetManagerを使うことで、簡単にモジュールを追加削除できるようにしてみました。

3.テンプレート内のサイドバー部分を変更する

メインページ、アーカイブページ、エントリー・アーカイブ、カテゴリー・アーカイブ、日付アーカイブを修正します。
サイドバーの部分を以下のように置き換えます。

<div id="beta">
  <div id="beta-inner" class="pkg">
<?php include("[ブログのサイト・パス]/_side.html"); ?>
  </div>
</div>

[ブログのサイト・パス]の部分は、ブログの公開ディレクトリの絶対パスです。
以下のような感じになっていると思います。

/home/sites/chicappa.jp/users/hoge.jp-moge/web/blog/

この場合、

<div id="beta">
  <div id="beta-inner" class="pkg">
<?php include("/home/sites/chicappa.jp/users/hoge.jp-moge/web/blog/_side.html"); ?>
  </div>
</div>

とするということになります。

すべて編集が終わったら、「すべて再構築」をしてください。
これで、すべてのアーカイブでサイドバーが共通化されます。







MovableTypeするならおすすめです!

投稿者 CHEEBOW : 2007年4月 2日 13:11