<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Movable Type 4 (MT4) カスタマイズ奮闘記</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/" />
    <link rel="self" type="application/atom+xml" href="http://www.sive.jp/mt4/atom.xml" />
    <id>tag:www.sive.jp,2008-04-02:/mt4//2</id>
    <updated>2008-04-06T08:02:53Z</updated>
    <subtitle>MT3は使いこなせるけどMT4はサパーリ分からんという管理人が、Movable Type 4のカスタマイズに挑戦した奮闘記。初心者向け。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.1</generator>

<entry>
    <title>サイドバー／新着コメント一覧のカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/customize_side_commentlist.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.25</id>

    <published>2008-04-06T07:18:36Z</published>
    <updated>2008-04-06T08:02:53Z</updated>

    <summary>その他と比べてやや複雑になるのが、サイドバーでよく見かける「新着コメントの一覧」。初期状態では、「投稿者名」「投稿された記事名」「コメントの冒頭部分」が1行で表示されているんですが、これ、非常に見づら...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>その他と比べてやや複雑になるのが、サイドバーでよく見かける「新着コメントの一覧」。初期状態では、「投稿者名」「投稿された記事名」「コメントの冒頭部分」が1行で表示されているんですが、これ、非常に見づらい。そのソースがこれ。</p>

<textarea class="source" wrap="off" readonly><mt:IfNonZero tag="mt:BlogCommentCount">
    <mt:Comments lastn="10" sort_order="descend">
        <mt:CommentsHeader>
<div class="widget-recent-comments widget">
    <h3 class="widget-header">最近のコメント</h3>
    <div class="widget-content">
        <ul class="recent-comments-list">
        </mt:CommentsHeader>
            <li>
                <a href="<mt:CommentEntry><$mt:EntryPermalink$></mt:CommentEntry>#comment-<$mt:CommentID$>"><$mt:CommentAuthor$> から <mt:CommentEntry><$mt:EntryTitle$></mt:CommentEntry> に対するコメント</a>: <$mt:CommentBody remove_html="1" trim_to="10"$>
            </li>
        <mt:CommentsFooter>
        </ul>
    </div>
</div>
        </mt:CommentsFooter>
    </mt:Comments>
</mt:IfNonZero></textarea>]]>
        <![CDATA[<p>これを、「コメントが投稿された記事／日付＆投稿者名」といった感じで2行で表示するようカスタマイズしてみたのがこれ。</p>

<textarea class="source" wrap="off" readonly><mt:IfNonZero tag="mt:BlogCommentCount">
<mt:Comments lastn="10" sort_order="descend">
<mt:CommentsHeader>
<div class="moduleWrap">
    <p class="moduleTitle">最近のコメント</p>
    <ul id="commentListWrap">
</mt:CommentsHeader>
	<li><a href="<mt:CommentEntry><$mt:EntryPermalink$></mt:CommentEntry>#comment-<$mt:CommentID$>"><mt:CommentEntry><$mt:EntryTitle trim_to="15"$></mt:CommentEntry></a>
		<ul><li><$MTCommentDate format="%m/%d"$> <$mt:CommentAuthor$></li></ul>
    </li>
<mt:CommentsFooter>
</ul>
</div>
</mt:CommentsFooter>
</mt:Comments>
</mt:IfNonZero></textarea>

<ｐ>初期状態では使われていなかった、コメントされた日付を表示するための「&lt;$MTCommentDate format=&quot;%m/%d&quot;$&gt; 」というタグを使ってみました。ホントは、記事ごとにコメントデータがぶら下がる感じにしたかったんだけど、これはMT3でもプラグインを使わないとできなかったし、MT4でもそういうことなんだろうと思い諦めました。（ま、ちゃんとしたテンプレートを作るときはプラグインを使うと思いますが。）</p>

<h3>サイドバー／新着コメント一覧で使ったMT用タグ</h3>

<dl>
<dt>&lt;mt:IfNonZero tag=&quot;mt:BlogCommentCount&quot;&gt;～&lt;/mt:IfNonZero&gt;</dt>
<dd>コメント数がゼロじゃない場合に表示。なかなかコメントがつかないこともあるし、このタグは残しておいた方がいいかも。</dd>
<dt>&lt;mt:Comments lastn=&quot;10&quot; sort_order=&quot;descend&quot;&gt;～&lt;/mt:Comments&gt;</dt>
<dd>このタグでコメントを表示する様子。lastnで件数、sort_orderで並び順を指定。（MT3だと、MTentriesタグにアトリビュートをつけて表示させてたような気がするけど、MT4では専用のタグができたんですね。）</dd>
<dt>&lt;mt:CommentsHeader&gt;～&lt;/mt:CommentsHeader&gt;<br />&lt;mt:CommentsFooter&gt;～&lt;/mt:CommentsFooter&gt;</dt>
<dd>コメント部分のヘッダー、フッターを表示。</dd>
<dt>&lt;mt:CommentEntry&gt;&lt;$mt:EntryPermalink$&gt;&lt;/mt:CommentEntry&gt;</dt>
<dd>記事へのURLを出力する「MTEnｔｒｙPermalink」を上記のように囲うと、コメントが寄せられた記事のURLが出力される様子。</dd>
<dt>&lt;$mt:CommentID$&gt;</dt>
<dd>コメントのID番号を出力。</dd>
<dt>&lt;$mt:CommentAuthor$&gt;</dt>
<dd>コメントの投稿者名を出力。</dd>
<dt>&lt;mt:CommentEntry&gt;&lt;$mt:EntryTitle$&gt;&lt;/mt:CommentEntry&gt;</dt>
<dd>記事のタイトルを出力する「MTEntryTitle」を上記のように囲うと、コメントが寄せられた記事のタイトルが出力される様子。</dd>
<dt>&lt;$mt:CommentBody remove_html=&quot;1&quot; trim_to=&quot;10&quot;$&gt;</dt>
<dd>コメントの内容を出力。ここに「trim_to」というアトリビュートがあり、これで出力する文字数を制限してます。これ、MT3ではプラグインを入れなきゃできなかったと思うんだけど、MT4では普通に使えるようになったんですね☆</dd>
</dl>]]>
    </content>
</entry>

<entry>
    <title>サイドバー／月別アーカイブのカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/customize_side_monthly.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.24</id>

    <published>2008-04-06T06:18:45Z</published>
    <updated>2008-04-06T07:10:54Z</updated>

    <summary>月別アーカイブ、別になくてもいいかなーなんて思ってますが、今後いろんなサイト（ブログ）を作っていくことを考えると、やっぱり一度は中身を見てみた方がいいかなと。ということで、初期状態での月別アーカイブは...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>月別アーカイブ、別になくてもいいかなーなんて思ってますが、今後いろんなサイト（ブログ）を作っていくことを考えると、やっぱり一度は中身を見てみた方がいいかなと。ということで、初期状態での月別アーカイブはこんな感じ。</p>

<textarea class="source" wrap="off" readonly><mt:IfArchiveTypeEnabled archive_type="Monthly">
    <mt:ArchiveList archive_type="Monthly">
        <mt:ArchiveListHeader>
<div class="widget-archive-monthly widget-archive widget">
    <h3 class="widget-header"><$mt:ArchiveTypeLabel$> <a href="<$mt:Link template="archive_index"$>">アーカイブ</a></h3>
    <div class="widget-content">
        <ul class="widget-list">
        </mt:ArchiveListHeader>
            <li class="widget-list-item"><a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> (<$mt:ArchiveCount$>)</a></li>
        <mt:ArchiveListFooter>
        </ul>
    </div>
</div>
        </mt:ArchiveListFooter>
    </mt:ArchiveList>
</mt:IfArchiveTypeEnabled></textarea>]]>
        <![CDATA[<p>カテゴリと比べるとあっさりしてますね＾＾<br />
MT4ではJavascriptを使って付月別表示部分を折りたたむこともできる（MT3でもできるんだけど、MT4ではそのテンプレートがデフォルトで入ってる。）ようなんですが、個人的にはあまり使うことがなさそうなので、普通にテキストのみが表示させるようにしました。</p>

<p>で、HTML部分を組み直したのがこちら。</p>

<textarea class="source" wrap="off" readonly><mt:ArchiveList archive_type="Monthly">
<mt:ArchiveListHeader>
<div class="moduleWrap">
	<p class="moduleTitle"><$mt:ArchiveTypeLabel$>アーカイブ</p>
	<ul>
</mt:ArchiveListHeader>
		<li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> (<$mt:ArchiveCount$>)</a></li>
<mt:ArchiveListFooter>
	</ul>
</div>
</mt:ArchiveListFooter>
</mt:ArchiveList>
</mt:IfArchiveTypeEnabled></textarea>

<p>もともと月別アーカイブのリストを表示させるために組んだソースなので「mt:IfArchiveTypeEnabled」の部分は削除。あとは基本的に初期のものからは変更してません。</p>

<p>前の記事でも書いたような気がしますが、カスタマイズするためには基礎的な部分をまず押さえておく必要があるので、基本的なところで何がどうなって表示されるのかというところが分かればよし。複雑なのは本格的に作るときにお勉強すりゃいいんです。はい。</p>

<h3>サイドバー／月別アーカイブで使ったMT用タグ</h3>

<dl>
<dt>&lt;mt:IfArchiveTypeEnabled archive_type=&quot;Monthly&quot;&gt;～&lt;/mt:IfArchiveTypeEnabled&gt;</dt>
<dd>アーカイブの種類が「monthly」（月別）の場合、囲まれた部分を出力。</dd>
<dt>&lt;mt:ArchiveList archive_type=&quot;Monthly&quot;&gt;～&lt;/mt:ArchiveList&gt;</dt>
<dd>アーカイブのリストを出力。（ここでは月別アーカイブのリスト。）</dd>
<dt>&lt;mt:ArchiveListHeader&gt;～&lt;/mt:ArchiveListHeader&gt;<br />&lt;mt:ArchiveListFooter&gt;～&lt;/mt:ArchiveListFooter&gt;</dt>
<dd>リストのヘッダー／フッターとなる部分を出力。（リスト部分は繰り返し表示されるか、Header/Footerの部分は1回だけ出力。）</dd>
<dt>&lt;$mt:ArchiveTypeLabel$&gt;</dt>
<dd>アーカイブのタイトルを出力。ここでは「月別」と表示される。</dd>
<dt>&lt;$mt:Link template=&quot;archive_index&quot;$&gt;</dt>
<dd>アーカイブページ（archives.html）へのURLを出力。MT4のテンプレートでは、「アーカイブ」という文字にアーカイブページへのリンクが張られてますが、私は単純に「月別アーカイブ」という文字だけを出力したかったので、このタグ及びリンク部分は削除しました。</dd>
<dt>&lt;$mt:ArchiveLink$&gt;</dt>
<dd>個別アーカイブページへのURLを出力。ここでは、月別ページへのURL。</dd>
<dt>&lt;$mt:ArchiveTitle$&gt;</dt>
<dd>個別アーカイブページのタイトルを出力。ここでは「ｙｙｙｙ年ｍｍ月」。</dd>
<dt>&lt;$mt:ArchiveCount$&gt;</dt>
<dd>個別アーカイブに含まれる記事の件数を出力。</dd>
</dl>]]>
    </content>
</entry>

<entry>
    <title>サイドバー／カテゴリ一覧のカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/customize_side_categories_list.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.23</id>

    <published>2008-04-04T07:21:24Z</published>
    <updated>2008-04-06T06:32:28Z</updated>

    <summary>中身が単純な新着記事一覧とは異なり、トップカテゴリ、サブカテゴリがある分だけカテゴリの一覧は複雑になります。と言っても、タグの意味を理解していけばOKかと。 	カテゴリ 	 	 	 	 	 		&quot; t...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>中身が単純な新着記事一覧とは異なり、トップカテゴリ、サブカテゴリがある分だけカテゴリの一覧は複雑になります。と言っても、タグの意味を理解していけばOKかと。</p>

<textarea class="source" wrap="off" readonly><mt:IfArchiveTypeEnabled archive_type="Category">
<div class="widget-archive widget-archive-category widget">
	<h3 class="widget-header">カテゴリ</h3>
	<mt:TopLevelCategories>
	<mt:SubCatIsFirst>
	<ul class="widget-list">
	</mt:SubCatIsFirst>
	<mt:IfNonZero tag="mt:CategoryCount">
		<li class="widget-list-item"><a href="<$mt:CategoryArchiveLink$>"<mt:IfNonEmpty tag="mt:CategoryDescription"> title="<$mt:CategoryDescription$>"</mt:IfNonEmpty>><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a>
	<mt:Else>
		<li class="widget-list-item"><$mt:CategoryLabel$>
	</mt:IfNonZero>
	<$mt:SubCatsRecurse$>
		</li>
	<mt:SubCatIsLast>
	</ul>
	</mt:SubCatIsLast>
    </mt:TopLevelCategories>
</div>
</mt:IfArchiveTypeEnabled></textarea>]]>
        <![CDATA[<p>クセモノなのが、サブカテゴリを作った際、それがトップカテゴリ内に入れ子になるということ。とは言え、liタグ、ulタグを閉じる位置を間違わなければ崩れを起こすこともないでしょう。で、HTMLを組みなおしたのがコチラ。</p>

<textarea class="source" wrap="off" readonly><div class="moduleWrap">
	<p class="moduleTitle">カテゴリ</p>
	<mt:TopLevelCategories>
	<mt:SubCatIsFirst><ul></mt:SubCatIsFirst>
	<mt:IfNonZero tag="mt:CategoryCount">
		<li><a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a>
	</mt:IfNonZero>
		<$mt:SubCatsRecurse$>
		</li>
	<mt:SubCatIsLast></ul></mt:SubCatIsLast>
    </mt:TopLevelCategories>
</div></textarea>

<p>カテゴリ関連のタグって、ここでしか使わないようなのがあるのでちょいと慣れづらいんですが、こーゆーところは下手にいじろうとせず、体裁を整える程度にとどめた方がいいカモ。メインスペースにカテゴリリストを掲載するならいざしらず、サイドバーであればリストを組んでそれを入れ子ｗってのが定番でしょうからね。</p>

<h3>サイドバー／カテゴリ一覧で使ったMT用タグ</h3>

<dl>
<dt>&lt;mt:IfArchiveTypeEnabled archive_type=&quot;Category&quot;&gt;～&lt;/mt:IfArchiveTypeEnabled&gt;</dt>
<dd>mt:IfArchiveTypeEnabledは、指定したカテゴリが有効なときに囲まれた部分を出力するしていのよう。ここで指定しているのは「Category」ということで、カテゴリーアーカイブが有効なときだけ表示します、ってことらしい。が、特に無効にする予定もないので、ここはサックリ削除しました。</dd>
<dt>&lt;mt:TopLevelCategories&gt;～&lt;/mt:TopLevelCategories&gt;</dt>
<dd>カテゴリの一覧を吐き出すためのタグ。TopLevelと書いてあるが、Subも吐き出すらしい。</dd>
<dt>&lt;mt:SubCatIsFirst&gt;～&lt;/mt:SubCatIsFirst&gt;</dt>
<dd><a target="_blank" href="http://www.movabletype.jp/documentation/appendices/tags/subcatisfirst.html">リファレンス</a>を見るとややこしいんだけど、サブカテゴリが表示される際のヘッダー、と考えればよさげ。</dd>
<dt>&lt;mt:IfNonZero tag=&quot;mt:CategoryCount&quot;&gt;～&lt;mt:Else&gt;～&lt;/mt:IfNonZero&gt;</dt>
<dd>このカテゴリの記事がゼロじゃない場合は、カテゴリページへのリンクつきでカテゴリ名を出力。ゼロの場合はリンクなしでカテゴリ名のみ出力。<del>私はelse以下を削除して、記事のないカテゴリは表示しないようにしました。</del> 表示しないようにしたら記事のないトップカテゴリも表示されなくなったので、もとの設定に戻しました＾＾；</dd>
<dt>&lt;$mt:SubCatsRecurse$&gt;</dt>
<dd><a target="_blank" href="http://www.movabletype.jp/documentation/appendices/tags/subcatsrecurse.html">リファレンス</a>を見るとややこしいんだけど、サブサブカテゴリがある場合は上と同じように表示、ってことかな？</dd>
<dt>&lt;mt:SubCatIsLast&gt;～&lt;/mt:SubCatIsLast&gt;</dt>
<dd>mt:SubCatIsFirstの逆で、こちらはサブカテゴリのフッターみたいなもん。</dd>
</dl>]]>
    </content>
</entry>

<entry>
    <title>サイドバー／新着記事一覧のカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/customize_side_entries_list.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.22</id>

    <published>2008-04-04T07:04:02Z</published>
    <updated>2008-04-04T07:17:59Z</updated>

    <summary>検索フォームがカスタマイズできれば、あとはそんなに面倒なことはないはず。ってことで、続いてはサイドバーに設置する新着記事一覧部分。 	最近のブログ記事 	 		 			&quot;&gt; 		 	 ...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p><a href="http://www.sive.jp/mt4/customize/cat6/customize_side_searchbox.php">検索フォーム</a>がカスタマイズできれば、あとはそんなに面倒なことはないはず。ってことで、続いてはサイドバーに設置する新着記事一覧部分。</p>

<textarea class="source" wrap="off" readonly><mt:IfNonZero tag="BlogEntryCount">
<mt:Entries lastn="10">
<mt:EntriesHeader>
<div class="widget-recent-entries widget-archives widget">
	<h3 class="widget-header">最近のブログ記事</h3>
	<div class="widget-content">
		<ul class="widget-list">
</mt:EntriesHeader>
			<li class="widget-list-item"><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li>
<mt:EntriesFooter>
		</ul>
	</div>
</div></mt:EntriesFooter>
</mt:Entries>
</mt:IfNonZero></textarea>]]>
        <![CDATA[<p>これは単純。liタグをMTEntriesタグで囲み（mt:entriesってなってるけど、意味は同じ...はず。）、lastnで指定した件数分を繰り返し出力してるだけですね。で、HTMLを修正したのがこちら。</p>

<textarea class="source" wrap="off" readonly><mt:IfNonZero tag="BlogEntryCount">
<mt:Entries lastn="10">
<mt:EntriesHeader>
<div class="moduleWrap">
	<p class="moduleTitle">最近のブログ記事</p>
	<ul>
</mt:EntriesHeader>
		<li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li>
<mt:EntriesFooter>
	</ul>
</div></mt:EntriesFooter>
</mt:Entries>
</mt:IfNonZero></textarea>

<p>特に変更した部分なし。自分の使いやすいようにHTMLタグを整えただけです。</p>

<h3>サイドバー／新着記事一覧で使ったMT用タグ</h3>

<dl>
<dt>&lt;mt:IfNonZero tag=&quot;BlogEntryCount&quot;&gt;～&lt;mt:IfNonZero&gt;</dt>
<dd>ブログ記事の件数がゼロじゃない場合は囲まれた部分のソースを出力。記事件数ゼロのままのはずもないため、私は削除しました。</dd>
<dt>&lt;mt:Entries lastn=&quot;10&quot;&gt;～&lt;/mt:Entries&gt;</dt>
<dd>mt:entriesで囲まれた部分を、lastnで指定した数だけ繰り返し出力。</dd>
<dt>&lt;mt:EntriesHeader&gt;～&lt;/mt:EntriesHeader&gt;<br />&lt;mt:EntriesFooter&gt;～&lt;/mt:EntriesFooter&gt;</dt>
<dd>mt:entriesで囲まれた部分は繰り返し表示されますが、Header、Footer部分は繰り返し表示されません。</dd>
<dt>&lt;$MTEntryPermalink$&gt;</dt>
<dd>記事ページへURLを出力。</dd>
<dt>&lt;$MTEntryTitle$&gt;</dt>
<dd>記事のタイトル名を出力。</dd>
</dl>]]>
    </content>
</entry>

<entry>
    <title>サイドバー／検索フォームのカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/customize_side_searchbox.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.21</id>

    <published>2008-04-04T06:15:05Z</published>
    <updated>2008-04-04T07:02:20Z</updated>

    <summary>サイドバーも、メインスペース同様に初期テンプレートのソースを見ながら1個1個つぶしていくことにします。まずは検索フォーム。       検索                    &quot;&gt;        ...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>サイドバーも、メインスペース同様に初期テンプレートのソースを見ながら1個1個つぶしていくことにします。まずは検索フォーム。</p>

<textarea class="source" wrap="off" readonly><div class="widget-search widget">
      <h3 class="widget-header">検索</h3>
      <div class="widget-content">
            <form method="get" action="<$mt:CGIPath$><$mt:SearchScript$>">
                  <input type="text" id="search" class="ti" name="search" value="<$mt:SearchString$>" />
                  <mt:If name="search_results_template">
                  <input type="hidden" name="IncludeBlogs" value="<$mt:SearchIncludeBlogs$>" />
                  <ul class="search-options">
                        <li><input type="checkbox" name="CaseSearch" /> 大文字/小文字を区別する</li>
                        <li><input type="checkbox" name="RegexSearch" /> 正規表現</li>
                  </ul>
                  <mt:else>
                  <input type="hidden" name="IncludeBlogs" value="<$mt:BlogID$>" />
                  </mt:if>
                  <input type="submit" accesskey="4" value="検索" />
            </form>
      </div>
</div>
<mt:If name="search_results_template">
<mt:IfTagSearch>
<div class="widget-tags widget">
      <h3 class="widget-header">タグ</h3>
      <div class="widget-content">
            <ul class="widget-list">
                  <mt:Tags>
                        <li class="widget-list-item"><a href="<$mt:TagSearchLink$>"><$mt:TagName$> (<$mt:TagCount$>)</a></li>
                  </mt:Tags>
            </ul>
      </div>
</div>
</mt:IfTagSearch>
</mt:If></textarea>]]>
        <![CDATA[<p>こちらもパッと見、ややこしやぁ～なんですが、基本的には見出しとフォーム（キーワード検索とタグ検索の2つ）しかないわけで、ソースを簡素化すればなんとでもなりそうです。</p>

<p>ただ、こーゆーところは下手にテンプレートごとにいじらずに全テンプレートで使い回ししたいところ。これこそモジュールの出番！なわけですが、まずは中身を理解するため、あえてモジュールは使いません。全てのテンプレートをカスタマイズしてみて、条件分岐などが分かってからモジュールを作っても遅くないわけで、ここはとりあえずメインテンプレートに書き込んじゃうことにします。</p>

<p>で、将来のモジュール化を踏まえて基本的なところはいじらず、HTMLソースだけ見直したのがこちら。</p>

<textarea class="source" wrap="off" readonly><div class="moduleWrap">
	<p class="moduleTitle">サイト内検索</p>
	<form method="get" action="<$mt:CGIPath$><$mt:SearchScript$>">
		<input type="text" id="search" class="ti" name="search" value="<$mt:SearchString$>" />
<mt:If name="search_results_template">
		<input type="hidden" name="IncludeBlogs" value="<$mt:SearchIncludeBlogs$>" />
		<p>
			<input type="checkbox" name="CaseSearch" /> 大文字/小文字を区別する
			<input type="checkbox" name="RegexSearch" /> 正規表現
		</p>
		<mt:else><input type="hidden" name="IncludeBlogs" value="<$mt:BlogID$>" /></mt:if>
		<input type="submit" accesskey="4" value="検索" />
	</form>
</div>
<mt:If name="search_results_template">
<mt:IfTagSearch>
<div class="moduleWrap">
	<h3 class="moduleTitle">タグ検索</h3>
	<ul><mt:Tags>
		<li><a href="<$mt:TagSearchLink$>"><$mt:TagName$> (<$mt:TagCount$>)</a></li>
	</mt:Tags></ul>
</div>
</mt:IfTagSearch>
</mt:If></textarea>

<p>カスタマイズってゆーより、HTMLタグのリプレイスって感じですね＾＾；</p>

<h3>サイドバー／検索フォーム部分で使ったMT用タグ</h3>

<dl>
<dt>&lt;$mt:CGIPath$&gt;<br />&lt;$mt:SearchScript$&gt;</dt>
<dd>MTを動かすプログラムへのパスと、プログラムファイル名を出力。ウ</dd>
<dt>&lt;$mt:SearchString$&gt;</dt>
<dd>検索する文字列を表示。メインページでは必要ないけど、検索結果ページでフォームを表示した際に、検索したキーワードをあらかじめボックスに表示させておくために必要。</dd>
<dt>&lt;mt:If name=&quot;search_results_template&quot;&gt;～&lt;/mt:If&gt;</dt>
<dd>変数search_results_templateを持っていれば出力。（検索結果ページのみ表示？）</dd>
<dt>&lt;$mt:SearchIncludeBlogs$&gt;</dt>
<dd>検索対象の複数のブログIDを出力。</dd>
<dt>&lt;$mt:BlogID$&gt;</dt>
<dd>検索したブログのIDを出力。</dd>
<dt>&lt;mt:IfTagSearch&gt;～&lt;/mt:IfTagSearch&gt;</dt>
<dd>タグ検索の場合、囲まれた部分を出力。</dd>
<dt>&lt;mt:Tags&gt;～&lt;/mt:Tags&gt;</dt>
<dd>タグごとに、囲まれた部分のソースを出力。</dd>
<dt>&lt;$mt:TagSearchLink$&gt;</dt>
<dd>タグ検索ページのURLを出力。</dd>
<dt>&lt;$mt:TagName$&gt;</dt>
<dd>タグ名を出力。</dd>
<dt>&lt;$mt:TagCount$&gt;</dt>
<dd>そのタグが指定されている記事の件数を出力。</dd>
</dl>]]>
    </content>
</entry>

<entry>
    <title>サイドバーのカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/customize_sidebar.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.20</id>

    <published>2008-04-04T05:55:26Z</published>
    <updated>2008-04-04T07:21:08Z</updated>

    <summary>メインスペース部分のカスタマイズが終わり、いよいよサイドバーに突入。第一弾はカテゴリ一覧部分のカスタマイズです。 初期状態のテンプレートでは、変数によって2段組、3段組を分岐させて読み込む内容を変更し...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>メインスペース部分のカスタマイズが終わり、いよいよサイドバーに突入。第一弾はカテゴリ一覧部分のカスタマイズです。</p>

<p>初期状態のテンプレートでは、変数によって2段組、3段組を分岐させて読み込む内容を変更しているようです。で、サイドバーの内容は「ウィジェットセット」の管理ページで、掲載するもの／しないものをマウスのドラッグ＆ドロップで選択できる様子。</p>]]>
        <![CDATA[<p>これはすごい！...けど使えない！</p>

<p>MTを本格的に使っていくにはカスタマイズが絶対条件だと思うんですが、これじゃ1個1個内容を見直していかなきゃいけないので非常に面倒。ってことで、私は最初にウィジェットを使って必要なものをチョイスし、そのソースをテンプレートにコピペ。1枚のテンプレート上で全てを管理できるようにしました。（モジュールを使わないってのと一緒ですね。）</p>

<p>今回選んだのは次の項目。</p>

<h3>サイドバー（メイン）に掲載する内容</h3>

<ul>
<li>検索</li>
<li>最近のブログ記事</li>
<li>カテゴリ一覧</li>
<li>最近のコメント</li>
<li>月別アーカイブ</li>
<li>購読</li>
</ul>

<h3>サイドバー（サブ）に掲載する内容</h3>

<ul>
<li>アイテム</li>
</ul>

<p>あとは追加でアフィリエイト広告を貼ったり貼らなかったりすればスペースは埋まるかなと。（ところで、最近のトラックバックってなかったんですけど...。）</p>

<p>以上の内容を1個ずつテンプレートにコピペして、カスタマイズの準備は完了です。（それにしてもいちいちめんどくせぇ....。）</p>]]>
    </content>
</entry>

<entry>
    <title>メインページ記事部分のカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/customize_top_entries.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.19</id>

    <published>2008-04-04T03:33:46Z</published>
    <updated>2008-04-04T05:38:28Z</updated>

    <summary>ヘッダーが出来上がると大分それっぽくなるんですが、ここでホッとせず次の作業へ。今度はメインページにダダダと並んでいる記事の部分です。例によって、初期状態のソースはこちら。 &quot; class=&quot;entry...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p><a href="http://www.sive.jp/mt4/customize_blog_header.php">ヘッダーが出来上がる</a>と大分それっぽくなるんですが、ここでホッとせず次の作業へ。今度はメインページにダダダと並んでいる記事の部分です。例によって、初期状態のソースはこちら。</p>

<textarea class="source" wrap="off" readonly><MTEntries>
<$MTEntryTrackbackData$>
<div id="entry-<$MTEntryID$>" class="entry-asset asset hentry">
      <div class="asset-header">
            <h2 class="asset-name entry-title"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></h2>
            <div class="asset-meta">
                  <span class="byline vcard">
                        <MTIfNonEmpty tag="EntryAuthorDisplayName">
                        <address class="vcard author"><$MTEntryAuthorLink show_hcard="1"$></address> (<abbr class="published" title="<$MTEntryDate format_name="iso8601"$>"><$MTEntryDate format="%x %X"$>)
                        <MTElse>
                        <abbr class="published" title="<$MTEntryDate format_name="iso8601"$>"><$MTEntryDate format="%x %X"$></abbr>
                        </MTIfNonEmpty>
                  </span>
                  <span class="separator">|</span> <a class="permalink" rel="bookmark" href="<$MTEntryPermalink$>">個別ページ</a>
                  <MTUnless name="hide_counts" eq="1">
                        <MTIfCommentsActive>| <a href="<$MTEntryPermalink$>#comments">コメント(<$MTEntryCommentCount$>)</a></MTIfCommentsActive>
                        <MTIfPingsActive>| <a href="<$MTEntryPermalink$>#trackback">トラックバック(<$MTEntryTrackbackCount$>)</a></MTIfPingsActive>
                  </MTUnless>
            </div>
      </div>
      <div class="asset-content entry-content">
      <MTIfNonEmpty tag="EntryBody">
      <div class="asset-body">
            <$MTEntryBody$>
      </div>
      </MTIfNonEmpty>
      <MTIfTagSearch>
            <$MTInclude module="タグ"$>
      </MTIfTagSearch>
      <MTIfNonEmpty tag="EntryMore" convert_breaks="0">
      <div class="asset-more-link">
            <a rel="bookmark" href="<$MTEntryPermalink$>#more"><$MTEntryTitle$></a>の続きを読む
      </div>
      </MTIfNonEmpty>
      </div>
      <div class="asset-footer"></div>
</div>
</MTEntries></textarea>]]>
        <![CDATA[<p>&lt;MTentries&gt;～&lt;/MTEntries&gt;で囲まれている部分に記載したソースが、設定してある件数分だけ表示されるというのが、この記事部分になります。</p>

<p>こちらもDIVタグやらMTタグ（しかも条件分岐）やらでややこしくなってますが、必要なもの／いらないものを整理して、次のように書き換えました。体裁はCSSで適当に。</p>

<textarea class="source" wrap="off" readonly><MTEntries>
<$MTEntryTrackbackData$>
<div id="entryID<$MTEntryID$>" class="entryWrap">
      <h3><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></h3>
      <p class="entryMeta">
            <$MTEntryDate format="%Y/%m/%d"$> |
            <a href="<$MTEntryPermalink$>">個別ページ</a> |
            <MTIfCommentsActive><a href="<$MTEntryPermalink$>#comments">コメント(<$MTEntryCommentCount$>)</a></MTIfCommentsActive> |
            <MTIfPingsActive><a href="<$MTEntryPermalink$>#trackback">トラックバック(<$MTEntryTrackbackCount$>)</a></MTIfPingsActive>
      </p>
      <div class="entryBody">
<$MTEntryBody$>
<MTIfNonEmpty tag="EntryMore" convert_breaks="0"><p class="moreLink"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>の続きを読む</p></MTIfNonEmpty>
      </div>
      <MTIfTagSearch><$MTInclude module="タグ"$></MTIfTagSearch>
</div>
</MTEntries></textarea>

<p>細かいところで場所を変えたりHTMLタグを変えたりしてますが、基本は初期テンプレートのコピペです。MT用のタグを1個1個理解しながらコピペしていけば、そう難しいことではありません。</p>

<p>これでメインスペースのカスタマイズは終了。元々のテンプレートには「アーカイブ」へのリンクが最下部に貼られてたんですが、これは後からでもつけられますし、とりあえず今は必要なしってことで削除しました。</p>

<h3>メインページ記事部分で使われているMT用タグ</h3>
<dl>
<dt>&lt;MTentries&gt;～&lt;/MTEntries&gt;</dt>
<dd>エントリー部分。この内側のソースが指定件数分だけ繰り返し表示される。</dd>
<dt>&lt;$MTEntryTrackbackData$&gt;</dt>
<dd>よく分かんないけど、トラックバック用のデータをRDFで記載するもの、だそうです。</dd>
<dt>&lt;$MTEntryID$&gt;</dt>
<dd>記事のID番号を出力。別になくてもいいけど、ページ内リンクを使う場合には便利カモ。</dd>
<dt>&lt;$MTEntryPermalink$&gt;</dt>
<dd>記事ページへURLを出力。</dd>
<dt>&lt;$MTEntryTitle$&gt;</dt>
<dd>記事のタイトル名を出力。</dd>
<dt>&lt;MTIfNonEmpty tag=&quot;EntryAuthorDisplayName&quot;&gt;～&lt;/MTIfNonEmpty&gt;</dt>
<dd>MTIfNonEmptyは指定した内容が空かどうかを判別するためのタグ。初期状態のテンプレートでは「EntryAuthorDisplayName」というタグが指定されており、「記事の投稿者名が空でない場合、投稿日時等に投稿者名を加えて表示しなさい。空なら投稿日時等のみ。」という意味になってます。</dd>
<dt>&lt;$MTEntryDate format_name=&quot;iso8601&quot;$&gt;<br />&lt;$MTEntryDate format=&quot;%x %X&quot;$&gt;</dt>
<dd>「MTEntryDate」で記事の投稿日時を出力。format_name、formatを指定するといろんな形式を選択できます。ここは<a target="_blank" href="http://www.movabletype.jp/documentation/appendices/date-formats.html">日付フォーマットのリファレンス</a>を見ながらアレコレいじるのがよろしいかと。</dd>
<dt>&lt;MTUnless name=&quot;hide_counts&quot; eq=&quot;1&quot;&gt;</dt>
<dd>「MTUnless」は「～じゃない場合」。よく分からないけど、変数hide_countsを持ってない場合は表示、ってことっぽい。</dd>
<dt>&lt;MTIfCommentsActive&gt;～&lt;/MTIfCommentsActive&gt;<br />&lt;MTIfPingsActive&gt;～&lt;/MTIfPingsActive&gt;</dt>
<dd>コメント／トラックバックの投稿を許可している場合は表示。</dd>
<dt>&lt;MTIfNonEmpty tag=&quot;EntryBody&quot;&gt;～&lt;/MTIfNonEmpty&gt;</dt>
<dd>「MTEntryBody」が空じゃない場合は表示。</dd>
<dt>&lt;$MTEntryBody$&gt;</dt>
<dd>記事の本文。記事投稿時に「本文」タグ内で書かれた部分を表示。（「続き」は「MTEntryMore」）</dd>
<dt>&lt;MTIfTagSearch&gt;～&lt;/MTIfTagSearch&gt;</dt>
<dd>タグがある場合は囲まれた部分を表示。（初期設定では「タグがある場合は、タグモジュールをインクルード」となってます。）</dd>
<dt>&lt;MTIfNonEmpty tag=&quot;EntryMore&quot; convert_breaks=&quot;0&quot;&gt;～&lt;/MTIfNonEmpty&gt;</dt>
<dd>記事に「続き」がある場合は内側のソースを表示。（初期設定では「続きを読む」のリンクを表示。）</dd>
</dl>
]]>
    </content>
</entry>

<entry>
    <title>ブログヘッダーのカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/customize_blog_header.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.18</id>

    <published>2008-04-04T02:11:38Z</published>
    <updated>2008-04-04T07:03:16Z</updated>

    <summary>いよいよ具体的なパーツ作りにチャレンジ。まずはブログのヘッダー部分から。何はともあれ、初期状態でどーなってるのか見てみましょう。 　　　&quot; accesskey=&quot;1&quot;&gt; 　　　 　　　&quot; access...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>いよいよ具体的なパーツ作りにチャレンジ。まずはブログのヘッダー部分から。何はともあれ、初期状態でどーなってるのか見てみましょう。</p>

<textarea class="source" wrap="off" readonly><div id="header">
<MTIf name="main_index">
　　　<h1 id="header-name"><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName encode_html="1"$></a></h1>
　　　<h2 id="header-description"><$MTBlogDescription$></h2>
<MTElse>
　　　<div id="header-name"><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName encode_html="1"$></a></div>
　　　<div id="header-description"><$MTBlogDescription$></div>
</MTIf>
</div></textarea>]]>
        <![CDATA[<p>ヘッダー部分、MT4お得意の（？）変数による分岐で表示内容を変えるワザを使っているようです。</p>

<p>内容的には「変数main_indexを持っている場合は、ブログタイトルをh1タグで、ブログ概要をh2タグで書き出して。持ってないならそれぞれDIVタグでいいわよ。」ってな感じ。</p>

<p>今回私は、この変数云々を無視してカスタマイズしてるので、これをこんな感じで書き換えます。</p>

<textarea class="source" wrap="off" readonly><div id="header">
　　　<h1><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName$></a></h1>
　　　<h2><$MTBlogDescription$></h2>
</div></textarea>

<p>単純ですね。条件分岐に関する部分をバッサリ削除しただけです。<br />あ、それと、余計なIDセレクタが付いてたのでコチラも削除。（これがなくてもCSSの指定はできますし。）</p>

<p>ま、概要をh2タグで囲うのってどーなのよ！？とか思うんですが、今は自分でカスタマイズするというのが大前提。内容の把握ができればそれでOKです。</p>

<p>以上のように修正したら保存＆再構築。それが終わったらCSSでそれっぽく装飾します。</p>

<h3>ヘッダーで使ったMT用タグ</h3>
<dl>
<dt><$MTBlogURL$></dt>
<dd>ブログのURLを表示</dd>
<dt><$MTBlogName$></dt>
<dd>ブログのタイトルを表示。「encode_html="1"」というアトリビュートをつけることで記号を絶対参照文字で書き出すことができるが、ウチはタイトルに記号を使ってないので削除。</dd>
<dt><$MTBlogDescription$></dt>
<dd>管理画面で設定した「ブログ概要」を表示。</dd>
</dl>]]>
    </content>
</entry>

<entry>
    <title>レイアウト枠のカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/customize_layout_frame.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.17</id>

    <published>2008-04-04T01:46:32Z</published>
    <updated>2008-04-04T01:55:25Z</updated>

    <summary>HTMLヘッダーのカスタマイズが終わったので、ここからは実際に見える部分をカスタマイズしていきます。（MTというよりHTMLとかCSSとか、そっち方面の話題になっちゃいますが、私がカスタマイズする際の...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>HTMLヘッダーのカスタマイズが終わったので、ここからは実際に見える部分をカスタマイズしていきます。（MTというよりHTMLとかCSSとか、そっち方面の話題になっちゃいますが、私がカスタマイズする際の一連の流れということで掲載しちゃいます。）</p>

<p>初期状態のMTテンプレートでは、ヘッダーからフッターまでを「container」というidセレクタがついたDIVタグで内包しています。さらにその内側に複数のDIVタグを内包、それぞれについたセレクタに対応したスタイルシートで、メインスペースだのサイドバーだのがレイアウトされています。</p>]]>
        <![CDATA[<h3>初期テンプレートのレイアウト構成（3段組＝大・小・小＝の場合）</h3>

<textarea class="source" wrap="off" readonry><div id="container">
　　　<div id="container-inner">
　　　　　　<div id="header">
　　　　　　　　　<div id="header-inner">
　　　　　　　　　　　　<div id="header-content">ヘッダー</div>
　　　　　　　　　</div>
　　　　　　</div>
　　　　　　<div id="content">
　　　　　　　　　<div id="content-inner">
　　　　　　　　　　　　<div id="alpha">
　　　　　　　　　　　　　　　<div id="alpha-inner">メインスペース</div>
　　　　　　　　　　　　</div>
　　　　　　　　　　　　<div id="beta">
　　　　　　　　　　　　　　　<div id="beta-inner">サイドバー</div>
　　　　　　　　　　　　</div>
　　　　　　　　　　　　<div id="gamma">
　　　　　　　　　　　　　　　<div id="gamma-inner">サイドバー</div>
　　　　　　　　　　　　</div>
　　　　　　　　　</div>
　　　　　　</div>
　　　　　　<div id="footer">
　　　　　　　　　<div id="footer-inner">
 　　　　　　　　　　　　<div id="footer-content">フッター</div>
　　　　　　　　　</div>
　　　　　　</div>
　　　</div>
</div></textarea>

<p>ご覧いただければ分かるとおり、ヘッダー、メインスペース、サイドバー（×2）、フッター、それぞれ1つの塊ごとに3つのDIVタグが入れ子になって存在してるんですね。これがMTのテンプレートが複雑に見える原因。</p>

<p>これはこれで使い道があるんだと思いますが、私としてはこんなに複雑にしたくないので、この枠をこんな感じで変更してみました。</p>

<textarea class="source" wrap="off" readonry><div id="container">
　　　<div id="header">ヘッダー</div>
　　　<div id="content">
　　　　　　<div id="alpha">メインスペース</div>
　　　　　　<div id="side">
　　　　　　　　　<div id="beta">サイドバー</div>
　　　　　　　　　<div id="gamma">サイドバー</div>
　　　　　　</div>
　　　</div>
　　　<div id="footer">フッター</div>
</div></textarea>

<p>ヘッダー、メインスペース、サイドバー、フッターには、それぞれ装飾するためにDIVタグを入れることになるんですが、レイアウトを制御するために必要なDIVタグの数はグーンと減りました。これならカスタマイズもしやすそうです。</p>

<p>あとはこのレイアウト枠に沿ってCSSを書けばOK。CSSはあーしてこーして....みたいな説明は面倒なんで割愛＾＾；できあがったCSSファイルをご覧いただければ幸いです。</p>

<p>あ、ついでに。このままだとどこからどこまでがヘッダーで、どこからどこまでがメインスペースで.....というのが分かりづらいので、HTMLのコメントを使って目印をつけておきました。（どんな感じになってるかはソースをご覧アレ。）]]>
    </content>
</entry>

<entry>
    <title>HTMLヘッダーのカスタマイズ</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/customize_html_header.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.16</id>

    <published>2008-04-03T09:54:20Z</published>
    <updated>2008-04-03T10:24:59Z</updated>

    <summary><![CDATA[HTMLヘッダーとは、&lt;head&gt;～&lt;/head&gt;で囲まれた部分のこと。ここに文字コードの指定、ページのタイトル、METAタグ、スタイルシートへのリンク、配信するRSSへのリン...]]></summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>HTMLヘッダーとは、&lt;head&gt;～&lt;/head&gt;で囲まれた部分のこと。ここに文字コードの指定、ページのタイトル、METAタグ、スタイルシートへのリンク、配信するRSSへのリンクなどが入ります。（ここでは、1行目に記載するXML宣言からヘッダーということにしちゃいます。）</p>]]>
        <![CDATA[<p>中身はさておき、HTMLを組むときはここからはじまらなければなりません。で、初期状態ではこの部分がどうなってるかというと、こんな感じ。</p>

<textarea class="source" wrap="off" readonly><!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>
    <meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
    <title><$mt:var name="title"$></title>
    <meta name="generator" content="<$MTProductName version="1"$>" />
    <link rel="stylesheet" href="<$MTLink template="styles"$>" type="text/css" />
    <$mt:var name="html_head"$>
</head>
</textarea>

<p>1～2行目のDOCTYPE宣言。これは本来、1行で書かなければいけません。ってことで、ここをまず修正。</p>

<p>次に、7行目の「meta name="generator"」というMETAタグは、「このページはMT4で作ってますよ」という表示用。そんなもんいらないので削除します。</p>

<p>続いて8行目。ここは外部CSSファイルへのリンクになってるんですが、新しいページのCSSは「css.css」という名前にしたので、この部分のMTタグを&lt;$MBlogURL$&gt;css.cssと変更</p>

<p>9行目の&lt;$mt:var name=&quot;html_head&quot;$&gt;この部分。これは、ヘッダーモジュールで「変数main_templateを持っている場合、変数html_headってゆうところにコレを書き込んでね。だけど、変数main_indexを持ってる場合は、コレは除いてちょ。」という指定がなされている部分です。</p>

<p>実際にブログを作った際、トップページに必要なのは配信しているRSSファイルへのリンクのみなので、ヘッダーモジュールのソースの中からその部分をコピペ、トップページに必要ない部分（MTUnlessというタグで囲まれてます。）は削除しました。</p>

<p>最後に、初期状態のテンプレートでは書かれていない、XHTMLでコーディングするときに必要な「XML宣言」を1行目に、CSSとJavascriptを使用しますよ！というMETAタグを適当な場所にそれぞれ追記。こうしてできあがったのが次のソースです。</p>

<textarea class="source" wrap="off" readonly><?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
<title><$mt:var name="title"$></title>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link rel="stylesheet" href="<$MTBlogURL$>css.css" type="text/css" />
<link rel="alternate" type="application/atom+xml" title="Atom" href="<$MTLink template="atom"$>" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="<$MTLink template="rss"$>" />
</head>
</textarea>]]>
    </content>
</entry>

<entry>
    <title>テンプレート作成前に旧ページを保存</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/save_before_page.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.15</id>

    <published>2008-04-03T09:45:19Z</published>
    <updated>2008-04-03T09:50:34Z</updated>

    <summary>さて、モジュールが1つのテンプレートにまとまったところで、テンプレートをカスタマイズ（ってゆーか、私の場合、頭から打ち直していくんだけど。）を始めます。 と、その前に。 カスタマイズ前の状態がどんなだ...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>さて、モジュールが1つのテンプレートにまとまったところで、テンプレートをカスタマイズ（ってゆーか、私の場合、頭から打ち直していくんだけど。）を始めます。</p>

<p>と、その前に。</p>

<p>カスタマイズ前の状態がどんなだったか分からなくなってもアレなので、新たに「旧メインページ」というインデックステンプレートを作成、そこに、これまでのメインページの中身をそっくりコピペしました。で、出力先を「before.php」とでも指定して保存／再構築すれば、旧ページを残したまま新しいメインページをカスタマイズすることができます。</p>

<p>スタイルシートも同様に...と思ったんですが、私の場合、スタイルシートも一から組みなおしていくので、新たなページで使用するスタイルシートは別名で作成することにしました。</p>

<p>これで準備完了。ヘッダー（ソース上ではなく見た目の）から順次つくっていくことにします。</p>

<p>【カスタマイズ方針】<br />
デザインは基本的に変えず、気に食わない部分（変な余白とか広すぎる幅とか余計なdivタグが入れ子になりまくっているソースとか）を修正していきます。<br />
これができれば、どんなものを作ってもOKかと。</p>]]>
        
    </content>
</entry>

<entry>
    <title>3つのモジュールを1つのテンプレートに貼り付け</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/3module_to_maintmp.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.14</id>

    <published>2008-04-03T09:34:47Z</published>
    <updated>2008-04-03T09:42:18Z</updated>

    <summary>モジュール使うのやーめたと思ったとたん、道が開けてきました（笑） モジュールと聞くとなにやらややこしそう、実際にソースを見てみると変数やらなんやらで実際にややこしい....ということで、メインページテ...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p><a target="_blank" href="http://www.sive.jp/mt4/customize/cat6/dont_use_module.php">モジュール使うのやーめた</a>と思ったとたん、道が開けてきました（笑）</p>

<p>モジュールと聞くとなにやらややこしそう、実際にソースを見てみると変数やらなんやらで実際にややこしい....ということで、メインページテンプレートで読み込まれるヘッダー、記事の概要、フッターの3モジュールを、メインページテンプレートにコピペ。これで1枚のテンプレート上に全てのソースが出揃ったことになります。</p>

<p>モジュール、使い方さえ分かれば管理が楽になるかもしれないんですが、MT4を触り始めて2日目で全てを理解するのは無理。ま、MT3.34と同様にテンプレートによって変更しない共通部分（例えばメニューバーとかコピーライトとか）をモジュール化するというのはありだと思うんですが、それはMT4的モジュールの使い方じゃないですしね。</p>

<p>実際にカスタマイズしたテンプレートを作ってみて、それをバラしていった方が理解も早まるような気がするし、とりあえず最初の段階ではモジュールなしにしてみました。</p>

<p>最初っから初心者用にモジュールなしのテンプレートにしてくれりゃよかったのに...。って、それじゃMT4の良さをアピールできないか。（それが良いところなのかは分かりませんが。）</p>]]>
        
    </content>
</entry>

<entry>
    <title>ヘッダーモジュール使うのやーめた</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/customize/template/dont_use_module.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.13</id>

    <published>2008-04-03T08:07:30Z</published>
    <updated>2008-04-03T08:33:52Z</updated>

    <summary>まずはヘッダーモジュールからカスタマイズしようと思ってソースを見てみたんですが、いきなり面倒なことになってしまいました。。。 モジュールは「mt:setvarblock」というタグから始まってるんです...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレートのカスタマイズ" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>まずはヘッダーモジュールからカスタマイズしようと思ってソースを見てみたんですが、いきなり面倒なことになってしまいました。。。</p>

<p>モジュールは「mt:setvarblock」というタグから始まってるんですが、これ、シックスアパートのリファレンスに載ってないんですよ。「MTSetVarBlock」ってのならあるんですが、これと一緒ってこと？.....と思って調べていったら、これ、どうやら変数によって書き込む内容を変更させるためのもののよう。</p>

<p>全テンプレート共通のモジュールとは言え、テンプレートごとに吐き出す内容を変えてるってことなんですね。。。。んなら最初からテンプレートに書き込んじゃえよ！みたいな。。。</p>]]>
        <![CDATA[<p>各テンプレートでは最初に「MTSetVar」というタグを使って変数を定義しています。例えば、メインページには「&lt;MTSetVar name=&quot;main_template&quot; value=&quot;1&quot;&gt;」というのがあるんですが、これによりメインページに「main_template」という変数を持たせている様子。（value="1"がついて、main_templateという変数の値が1になってる。）</p>

<p>こうすることで、メインページテンプレートでヘッダーモジュールが読み込まれた場合は、モジュール側で「main_templateという変数を持ってたら、ここ、書かなくていいからね。」みたいな命令を出して書き出す内容を変えている、ということみたい。</p>

<p>......。こーゆーこと、ちゃんと説明してくれないと、最初っからやる気なくしちゃうじゃないのさ。。。</p>

<p>テンプレートによって書き出す内容が変わるということは、ヘッダーモジュールからこの部分を削除して、テンプレートごとに見合ったものを直に書き出すようにすれば結果は同じってことですよね。</p>

<p>ってことで、メインページのテンプレートから「&lt;$MTInclude module=&quot;ヘッダー&quot;$&gt;」より上の部分を削除、そこにヘッダーモジュールの内容をコピペしてみました。（ただし、変数によって内容が変わるhead部分は書き直しました。）</p>

<p>ま、慣れてきてこの辺の仕組みがよーく分かるようになれば、作業簡略化のためにモジュールを使うというのもアリだと思いますが、MT4で初めてMovable Typeを触るよ！とか、MT3.34から乗り換えました！という場合は、モジュールなんてのは無視してそのままテンプレートをいじってった方がとっつきやすいカモ、です。</p>

<p>あ、こーゆー指定が必要な場合こそ、お金を払って<a target="_blank" href="http://imedia.30smash.com/">MovableType作成代行</a>にお願いしちゃえばいいんだな。うん。</p>

<p>【追記】<br />
メインページテンプレート冒頭の</p>

<p>&lt;MTSetVar name=&quot;body_class&quot; value=&quot;mt-main-index&quot;&gt;<br />
&lt;MTSetVar name=&quot;main_template&quot; value=&quot;1&quot;&gt;<br />
&lt;MTSetVar name=&quot;main_index&quot; value=&quot;1&quot;&gt;<br />
&lt;MTSetVar name=&quot;sidebar&quot; value=&quot;1&quot;&gt;<br />
&lt;MTSetVarBlock name=&quot;title&quot;&gt;&lt;$MTBlogName encode_html=&quot;1&quot;$&gt;&lt;/MTSetVarBlock&gt;</p>

<p>これを削除したら、サイドバーが消えてしまいました(T_T)<br />
（多分「name="sidebar" value="1"」ってのを消したからだと思うんだけど。。。）<br />
全てのモジュールをテンプレートに移し終わるまでは、この部分、消さない方がよさそうです。</p>]]>
    </content>
</entry>

<entry>
    <title>インポートしなきゃいいんじゃん</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/template/not_inport.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.12</id>

    <published>2008-04-03T06:18:15Z</published>
    <updated>2008-04-03T06:23:30Z</updated>

    <summary>先ほど、スタイルシートに独自の指定を追記したときにフと思いました。 MT4って、モジュールやらCSSのインポートやらでパッと見ややこしくなっちゃってるけど、 そんなん無視してテンプレートに直接書き込ん...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレート" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p><a href="http://www.sive.jp/mt4/template/mt4_default_css.php">先ほど</a>、スタイルシートに独自の指定を追記したときにフと思いました。</p>

<p>MT4って、モジュールやらCSSのインポートやらでパッと見ややこしくなっちゃってるけど、<br />
そんなん無視してテンプレートに直接書き込んでいけばいいんじゃ☆</p>

<p>ま、モジュールはモジュールで使い道がありそうなのでちゃんと覚えようと思いますが、システムフォルダ内からのインポートなんて普段は絶対使わね。CSSはテンプレートに直接書き込むことにしよう。うん。そっちの方がメンテナンスしやすいし。（てか、どこに置いてあるか分からないようなファイルなんていじりたくないし。）</p>]]>
        
    </content>
</entry>

<entry>
    <title>MT4デフォルトテンプレートのCSSがイケてない</title>
    <link rel="alternate" type="text/html" href="http://www.sive.jp/mt4/template/mt4_default_css.php" />
    <id>tag:www.sive.jp,2008:/mt4//2.11</id>

    <published>2008-04-03T05:43:23Z</published>
    <updated>2008-04-03T06:04:56Z</updated>

    <summary>試しに数記事書いてみたところで気づきました。 MT4のデフォルトテンプレートのCSSが激しくイケてません！！！ というのも、h3タグ、h4タグを入れても文字は大きくならないわ、dl、dt、ddタグを使...</summary>
    <author>
        <name>うか</name>
        <uri>http://www.uka-blog.com/</uri>
    </author>
    
        <category term="テンプレート" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sive.jp/mt4/">
        <![CDATA[<p>試しに数記事書いてみたところで気づきました。<br />
MT4のデフォルトテンプレートのCSSが激しくイケてません！！！</p>

<p>というのも、h3タグ、h4タグを入れても文字は大きくならないわ、dl、dt、ddタグを使っても右側にインデントができないわ。。。</p>

<p>dl、dt、ddはそんなに使うタグじゃないかもしれないけど、h3、h4あたりは普通に使うでしょうに。。。</p>

<p>イラッとしながらも、cssのテンプレートに下記のように追記。</p>

<p>p｛font-size:14px;margin:15px 0;line-height:150%;}<br />
h3{margin:30px 0 15px;font-size:16px;font-weight:bold;}<br />
h4{margin:15px 0;font-size:14px;font-weight:bold;}<br />
dl{margin:15px 0;}<br />
dt{font-weight:bold;}<br />
dd{margin-left:40px;}</p>

<p>普通にCSSが書いてあればいいんだけど、MT4はシステムフォルダ内のファイルをインポートしてるので、ちょっとした修正ができません。ったく、使いづれぇ...。</p>]]>
        
    </content>
</entry>

</feed>
