2009年7月| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
トップ > Movable Type > 今日のMovable Type 4.2: MT4.2のテンプレートはデザインのカスタマイズがしやすくなった!

今日のMovable Type 4.2: MT4.2のテンプレートはデザインのカスタマイズがしやすくなった!

2008年6月 6日 04:30

Movable Type 4.1のテンプレート構造は、むずかしくて、よくわかないという方が、やたら多い。

でも、安心!5月30日にリリースされた、Movable Type 4.2 RC1および、Movable Type Open Source 4.2 RC1のテンプレート構造を調べた限りでは、MT4.2のテンプレートは、変数がよくわからない人にもデザインのカスタマイズがしやすくなった。

Web屋さんがまず抑えておくところは、テンプレートの分割構造が異なるところだ。 開発関係者に聞いた話しによれば、構造を変えた理由は、再構築や表示の速度を向上させるためだそうだが、テンプレートの分割が大まかになり、テンプレートから変数が消えたことにより、特にノンプログラマの人たちにとり、デザインのカスタマイズをしやすい構造になった。

以下、テンプレートの構造だけに絞りこみ、理由を、簡単に解説してみるとする。

◆テンプレートの管理画面がひとつになった。

MT4.2のテンプレート管理画面

MT4.1では、

  • インデックステンプレート
  • アーカイブテンプレート
  • テンプレートモジュール
  • システムテンプレート

と別れていたテンプレートの管理画面がMT4.2では、ひとつにまとまった。
この仕様変更により、ページ間を行ったり来たりする手間も減り、テンプレート管理はやりやすくなったと思う。

◆アーカイブテンプレートに月別ブログ記事リストが追加。


▲MT4.1のアーカイブテンプレート管理メニュー


▲MT4.2のアーカイブテンプレート管理メニュー

アーカイブテンプレートに、「月別ブログ記事リスト」が追加。これは、MT3.xまでは「日付アーカイブ」と呼ばれたテンプレートと同じもので、追加というよりも復活。このテンプレート追加により、変数を知らない人でも、悩むことなく月別とカテゴリー別の使い分けができるようになった。

◆テンプレートの分割方法が変わり、変数がなくなった。

正確には「バナーヘッダー」でタイトル表示の切り替えをおこなうための変数は残っているのだが、ほとんどのテンプレートから変数が消えた。
以下、メインページのテンプレートを例として説明したい。

◇メインページのテンプレートのソース

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
<head>
    <$mt:include module="HTMLヘッダー"$>
    <link rel="EditURI" type="application/rsd+xml" title="RSD" href="<$MTLink template="rsd"$>" />
    <title><$MTBlogName encode_html="1"$></title>
</head>
<body id="<$mt:BlogTemplateSetID$>" class="mt-main-index <$MTVar name="page_layout"$>">
    <div id="container">
        <div id="container-inner">
            <$mt:include module="バナーヘッダー"$>
            <div id="content">
                <div id="content-inner">
                    <div id="alpha">
                        <div id="alpha-inner">
<MTEntries>
                            <mt:ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:ignore>
                            <$mt:include module="ブログ記事の概要"$>
</MTEntries>
                            <div class="content-nav">
                                <a href="<$MTLink template="archive_index"$>">アーカイブ</a>
                            </div>
                        </div>
                    </div>
                    <$MTInclude module="サイドバー"$>
                </div>
            </div>
            <$mt:include module="バナーフッター"$>
        </div>
    </div>
</body>
</html>

ソースを見て気づくのは、ソースの文頭に
<MTSetVar name="body_class" value="mt-main-index">等の、
変数宣言がないことだ。
変数がある故にが理解できず、MT4.1にためらっていた方にとっては、とてもよい仕様変更だ。

「ヘッダー」は、「HTMLヘッダー」と「バナーヘッダー」に分割され、
「フッター」は、「サイドバー」と「バナーフッター」に分割された。
HTML生成順に並んだことにより、どう分割するかはわかりやすくなった。

以下、HTMLヘッダーモジュールを見てみよう。

◇HTMLヘッダーモジュールテンプレートのソース

<meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
<meta name="generator" content="<$MTProductName version="1"$>" />
<link rel="stylesheet" href="<$MTLink template="styles"$>" type="text/css" />
<link rel="start" href="<$MTBlogURL$>" title="Home" />
<link rel="alternate" type="application/atom+xml" title="Recent Entries" href="<$MTLink template="feed_recent"$>" />
<script type="text/javascript" src="<$MTLink template="javascript"$>"></script>
<$MTCCLicenseRDF$>

ソースを見た人にわかると思うが、変数も記述されていないが、
下記のmetaも記述はない。

<meta name="keywords" content="" />
<meta name="description" content="" />

このあたりがどうなるかは、正規版を見てみないとわからないが、ひとまず変数を理解することが必須であったMT4.0や、MT4.1と比べ、MT4.2は初期段階では変数を理解しなくても使えるようになっているのだと推測する。

◇メインページの構造

メインページ━━┳━HTMLヘッダー
┣━バナーヘッダー
┣━バナーヘッダー
┣━ブログ記事の概要
┣━サイドバー
┗━バナーフッター

4.1のテンプレートを理解している人はわかると思うが、メインページから呼び出すモジュールの数は増えたもの、「ブログ記事のメタデータ」がなくなったことにより、階層は2階層にとどまっている。
初期状態で分割を大まかにしたのは、敷居も下がり、ユーザーを増やす上でも、よいことだと思う。

◆残念!MT4.1で作ったカスタムテンプレートをプラグイン化した場合、MT4.2で使えない場合が多い。

いいことづくめばかりではなく、残念な話しもある。MT4.1で使えたカスタムテンプレートのプラグインは、MT4.2ではテンプレートの構造が変わったので、使えない場合がある。少なくとも僕が作ったカスタムテンプレートのプラグインは利用できなかった。
正規版でどうなるかは不明だが、MT4.1でカスタムテンプレートのプラグインを作った人は、MT4.2RC1か、MTOS4.2RC1で、一度テストしてみるといいだろう。

では、どうするかというと、以下はまだ推測なのだが、一度MT4.1で作ったカスタムテンプレートを1枚のHTMLにまとめて、MT4.2の仕様に準じて再分割して、テンプレートセットを作り直してから、Yamlを書き直したほうがいいように思う。

とはいえテンプレートの構造は、まだ変わる可能性があるので、正規版を待ってから作業に入りたい。

◆結論。MT4系に手を出せなかった人は、MT4.2に大いに期待していいだろう!

話しは戻るが、僕の周囲では、MT3はそこそこ使えていた人達で、MT4以降ではテンプレート構造がわからなくて、手を出せないとの声を聞く。
よくよく聞いてみると、分割がわからないといか、変数がわからないとか…そのような理由だ。

どうやら、MT4.2のテンプレート構造は、MT4.1の「いきなり高機能で使えますが、使うにはそれなりのスキルが必要です」から、「敷居は低くしましたので、高機能化したい方は各自のスキルに合わせてどうぞ」というようにコンセプトが変わったようだ。特にノンプログラマの人は、正規版に大いに期待していいだろう。

Movable Type 4.2 ベータ
http://www.movabletype.jp/beta/42/

参考になれば幸い。

投稿者: Dakiny 日時: 2008年6月 6日 04:30 | このエントリーをはてなブックマークに追加 このエントリーのはてなブックマーク被リンク数 |  このエントリをdel.icio.usに追加 | このエントリをlivedoorクリップに追加 このエントリーのlivedoorクリップ被リンク数 |  | コメント(0)  | トラックバック (0)

トラックバック

このエントリーのトラックバックURL:
http://www.dakiny.com/mtos/mt-tb.cgi/1641
※文章内容と関係のないトラックバックは固くお断り。

コメントを投稿

Search


キャッシュ使用
Powered by 暴想

Download

Categories

ArchiveList

Trackbacks

Comments

お勧めMT本

MTOS活用テクニック―カスタムフィールドで本格的なCMS機能を実現!
MTOS活用テクニック
藤本壱著
ラトルズ
2009年2月発売

Movable Type 4.2 パーフェクトガイド
Movable Type 4.2 パーフェクトガイド
荒木勇次郎著
毎日コミュニケーションズ
2008年7月31日発売

Movable Type プロフェッショナル・スタイル MT4.1対応
Movable Type プロフェッショナル・スタイル
MT4.1対応

CSS Nite
毎日コミュニケーションズ
2008年4月8日発売