TopMovable Typeテンプレート > 2005年10月
2005年10月30日

3.2 アップグレードによるテンプレート変更箇所(3.15x用)

October 30,2005 11:53 PM
Tag:[, , ]
Permalink

先日の3.2 アップグレードによるテンプレート変更箇所の 3.15x-ja 版です。3.15x-ja と 3.17x-ja では公開テンプレートの個別エントリーアーカイブが微妙に異なっているので、その部分をカバーしました。デフォルトテンプレートもほぼ同じだと思います。

1カラム版を元に作成していますので2カラム・3カラムの方はヘッダおよび中央カラム部分が対象となります。なおコメント・プレビュー/コメント・エラーについては 3.15x-ja と 3.17x-ja は同じですので先のエントリーを参照願います。

また3.2 アップグレードによるテンプレート変更箇所もここ10日ほどで何ヶ所か手直ししております。動作に不具合がある方は再度ご確認頂ければ幸いです。

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
<meta name="generator" content="http://www.movabletype.org/" />
 
<title><$MTBlogName$>: <$MTEntryTitle$></title>
 
<link rel="stylesheet" href="<$MTBlogURL$>styles-site.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="<$MTBlogURL$>index.rdf" />
<link rel="alternate" type="application/atom+xml" title="Atom" href="<$MTBlogURL$>atom.xml" />
 
<link rel="start" href="<$MTBlogURL$>" title="Home" />
<MTEntryPrevious>
<link rel="prev" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>" />
</MTEntryPrevious>
<MTEntryNext>
<link rel="next" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>" />
</MTEntryNext>
<MTInclude module="Remember Me">
 
<$MTEntryTrackbackData$>
 
<MTBlogIfCCLicense>
<$MTCCLicenseRDF$>
</MTBlogIfCCLicense>
 
<script type="text/javascript" src="<$MTBlogURL$>mt-site.js"></script>
</head>
 
<body class="layout-three-column" onload="individualArchivesOnLoad(commenter_name)">
 
<div id="box">
 
<!-- タイトル開始 -->
<div id="banner">
<h1><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName encode_html="1"$></a></h1>
<h2><$MTBlogDescription$></h2>
</div>
<!-- タイトル終了 -->
 
<!-- コンテンツ開始 -->
<div id="container">
 
<div class="blog">
 
<div id="menu">
<MTEntryPrevious>
<a href="<$MTEntryPermalink$>">≪ <$MTEntryTitle$></a> |
</MTEntryPrevious>
<a href="<$MTBlogURL$>">メイン</a>
<MTEntryNext>
| <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> ≫</a>
</MTEntryNext>
</div>
 
<h2 class="date"><$MTEntryDate format="%x"$></h2>
 
<div class="blogbody">
 
<h3 class="title">●<$MTEntryTitle$></h3>
 
<$MTEntryBody$>
 
<div id="a<$MTEntryID pad="1"$>more"><div id="more">
<$MTEntryMore$>
</div></div>
 
<div class="posted">Posted by <$MTEntryAuthor$> at <$MTEntryDate$>
<!-- トラックバックを別ウィンドウに表示する場合ここから
<MTEntryIfAllowPings>
| <a href="<$MTCGIPath$><$MTTrackbackScript$>?__mode=view&entry_id=<$MTEntryID$>" onclick="OpenTrackback(this.href); return false">トラックバック</a>
</MTEntryIfAllowPings>
     トラックバックを別ウィンドウに表示する場合ここまで -->
 
</div><!-- posted -->
</div><!-- blogbody -->
 
<!-- トラックバックを同一ウィンドウに表示する場合ここから -->
<MTEntryIfAllowPings>
<MTIfPingsActive>
<a id="trackbacks" name="trackbacks"></a>
<div class="comments-head">トラックバックURL</div>
<div class="comments-body">
<p class="techstuff">このエントリーのトラックバックURL:<br />
<$MTEntryTrackbackLink$></p>
</div>
 
<MTIfNonZero tag="MTEntryTrackbackCount">
<!--
<p>このリストは、次のエントリーを参照しています:  <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>:</p>
-->
<MTPings>
<MTPingsHeader><div class="comments-head">トラックバック</div></MTPingsHeader>
<MTPings>
<div class="comments-body">
<p id="p<$MTPingID$>">
≫ <a href="<$MTPingURL$>"><$MTPingTitle$></a> from <$MTPingBlogName$><br />
<$MTPingExcerpt$> <a href="<$MTPingURL$>">[続きを読む]</a>
</p>
<div class="comments-post">Tracked on <$MTPingDate$></div>
</div><!-- comments-body -->
</MTPings>
</MTIfNonZero>
</MTIfPingsActive>
</MTEntryIfAllowPings>
<!-- トラックバックを同一ウィンドウに表示する場合ここまで -->
 
<MTEntryIfAllowComments>
<MTIfCommentsActive>
 
<a id="comments" name="comments"></a>
<MTComments>
<MTCommentsHeader><div class="comments-head">コメント</div></MTCommentsHeader>
 
<MTComments>
<a id="c<$MTCommentID$>" name="c<$MTCommentID$>"></a>
<div class="comments-body">
<$MTCommentBody$>
<div class="comments-post">Posted by <$MTCommentAuthorLink default_name="Anonymous" spam_protect="1"$> <MTCommentAuthorIdentity> at <$MTCommentDate$></div>
</div>
</MTComments>
 
<MTEntryIfCommentsOpen>
 
<MTIfCommentsAllowed>
 
<div class="comments-head">コメントしてください</div>
<div class="comments-body">
 
<MTIfRegistrationRequired>
 
<MTIfNonEmpty tag="MTTypeKeyToken">
<div id="thanks">
<p>サイン・インを確認しました、
<script type="text/javascript" src="<MTCGIPath><MTCommentScript>?__mode=cmtr_name_js"></script><script>document.write(commenter_name);</script>.
さん。コメントしてください。 (<a href="<$MTRemoteSignOutLink static="1"$>">サイン・アウト</a>)</p>
 
(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)
 
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" onsubmit="if (this.bakecookie[0].checked) rememberMe(this)">
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
 
<p><label for="url">URL:</label><br />
<input tabindex="1" type="text" name="url" id="url" />
情報を登録する?
<input type="radio" id="remember" name="bakecookie" onclick="rememberMe(this.form)" /><label for="remember">はい</label><input type="radio" id="forget" name="bakecookie" onclick="forgetMe(this.form)" value="Forget Info" style="margin-left: 15px;" /><label for="forget">いいえ</label><br style="clear: both;" />
 
</p>
 
<p><label for="text">コメント:</label><br />
<textarea tabindex="2" id="text" name="text" rows="10" cols="50"></textarea></p>
 
<div align="center">
<input type="submit" tabindex="3" name="preview" value=" 確認 " />
<input style="font-weight: bold;" tabindex="4" type="submit" name="post" value=" 投稿 " />
</div>
</form>
 
</div>
 
<script language="javascript" type="text/javascript">
<!--
if (commenter_name) {
    document.getElementById('thanks').style.display = 'block';
} else {
    document.write('サイン・インしていません。このサイトにコメントをする前に登録してください。 <a href="<$MTRemoteSignInLink static="1"$>"> サイン・イン</a>');
    document.getElementById('thanks').style.display = 'none';
}
// -->
</script>
 
<MTElse>
コメント登録機能を利用するには、TypeKey トークンを設定してください。
</MTElse>
</MTIfNonEmpty>
 
<MTElse> <MTTemplateNote value="Case of comments not required">
 
<MTIfNonEmpty tag="MTTypeKeyToken">
<script type="text/javascript" src="<MTCGIPath><MTCommentScript>?__mode=cmtr_name_js"></script>
<script language="javascript" type="text/javascript">
<!--
if (commenter_name) {
    document.write('サイン・インを確認しました、', commenter_name, 'さん。コメントしてください。 (<a href="<$MTRemoteSignOutLink static="1"$>">サイン・アウト</a>)');
} else {
    document.write('TypeKey ID を使って <a href="<$MTRemoteSignInLink static="1"$>"> サイン・イン</a> してください。');
}
// -->
</script>
</MTIfNonEmpty>
 
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" id="comments_form" name="comments_form" onsubmit="if (this.bakecookie[0].checked) rememberMe(this)">
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
 
<script type="text/javascript">
writeTypeKeyGreeting(commenter_name, <$MTEntryID$>);
</script>
 
<MTIfCommentsModerated>
<p class="comments-open-moderated">
(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)
</p>
</MTIfCommentsModerated>
 
<div id="name_email">
<div id="name-email">
<p><label for="author">名前:</label><br />
<input tabindex="1" id="author" name="author" /></p>
 
<p><label for="email">メールアドレス:</label><br />
<input tabindex="2" id="email" name="email" /></p>
</div>
 
<MTIfNonEmpty tag="MTTypeKeyToken">
<script language="javascript" type="text/javascript">
<!--
if (commenter_name) {
    document.getElementById('name_email').style.display = 'none';
}
// -->
</script>
</MTIfNonEmpty>
 
<p><label for="url">URL:</label><br />
<input tabindex="3" type="text" name="url" id="url" />
</p><p>
<label for="comment-bake-cookie"><input type="checkbox" id="comment-bake-cookie" name="bakecookie" tabindex="9" accesskey="r" onclick="if (!this.checked) forgetMe(document.comments_form)" value="1" onkeypress="if (!this.checked) forgetMe(document.comments_form)" />情報を保存する?</label>
保存しますか?
<input type="radio" id="remember" onclick="rememberMe(this.form)" name="bakecookie" /><label for="remember">はい</label><input type="radio" id="forget" name="bakecookie" onclick="forgetMe(this.form)" value="Forget Info" style="margin-left: 15px;" /><label for="forget">いいえ</label><br style="clear: both;" />
</p>
 
<p><label for="text">コメント:</label> <MTIfAllowCommentHTML>
(書式を変更するような一部のHTMLタグを使うことができます)</MTIfAllowCommentHTML><br />
<textarea tabindex="4" id="text" name="text" rows="10" cols="50"></textarea></p>
 
<div align="center">
<input type="submit" name="preview" tabindex="5" 
    value=" 確認 " />
<input style="font-weight: bold;" type="submit" name="post" 
    tabindex="6" value=" 投稿 " />
</div>
</form>
 
</MTElse>
 
</MTIfRegistrationRequired>
 
</div><!-- comments-body -->
 
</MTIfCommentsAllowed>
 
<script type="text/javascript" language="javascript">
<!--
if (document.comments_form.email != undefined)
    document.comments_form.email.value = getCookie("mtcmtmail");
if (document.comments_form.author != undefined)
    document.comments_form.author.value = getCookie("mtcmtauth");
if (document.comments_form.url != undefined)
    document.comments_form.url.value = getCookie("mtcmthome");
if (getCookie("mtcmtauth") || getCookie("mtcmthome")) {
    document.comments_form.bakecookie[0].checked = true;
} else {
    document.comments_form.bakecookie[1].checked = true;
}
//-->
</script>
 
</MTEntryIfCommentsOpen>
 
</MTEntryIfAllowComments>
</MTIfCommentsActive>
 
</div>
</div>
<!-- コンテンツ終了 -->
 
<br clear="all" />
 
</div>
 
</body>
</html>
Comments [2] | Trackbacks [0]
2005年10月21日

アーカイブテンプレート作成方法

October 21,2005 11:58 PM
Tag:[, , , , ]
Permalink

Movable Type で月別・週別・日別のアーカイブページを作成する場合、デフォルトで使用されるアーカイブテンプレートは「日付アーカイブテンプレート」です。つまり、ひとつのテンプレートで3種類のアーカイブページを賄う設定になっています。

ですが、それぞれのアーカイブページで異なる動作を行いたい場合、例えば、月別アーカイブページでは「×年×月のページ」、日別アーカイブページでは「×月×日のページ」というタイトルを振りたい時、同じテンプレートを使っているとMTタグのみでこのような設定を行うことはできません(多分)。

ここでは、日別・週別アーカイブページに対し、新しく日別アーカイブテンプレート/週別アーカイブテンプレートを作成・対応させるカスタマイズを紹介します。これを行うことでアーカイブページとテンプレートの対応(アーカイブマッピング)は下記のようになります。

現状のアーカイブ・マッピング
アーカイブの種類対応テンプレート
月別アーカイブページ日付アーカイブテンプレート
週別アーカイブページ
日別アーカイブページ
新しいアーカイブ・マッピング
アーカイブの種類対応テンプレート
月別アーカイブページ日付アーカイブテンプレート
週別アーカイブページ週別アーカイブテンプレート
日別アーカイブページ日別アーカイブテンプレート

なお、これ以外の用途で新しくアーカイブテンプレートを作成する場合にも参考になると思います。

1.テンプレートの作成

まず日別用アーカイブの元となる日付アーカイブテンプレートをテキストコピーします。
管理メニューの「テンプレート」→「アーカイブ」→「日付アーカイブ」の順にクリックし、テンプレートの内容をコピーします。

次に管理メニューの「テンプレート」→「アーカイブ」→「テンプレートを新規作成」の順にクリックし、次のページで下記の内容を設定します。

テンプレート名:日別アーカイブ
このテンプレートにリンクするファイル:(空白)
テンプレートの内容:先ほどコピーした内容をペースト

設定が完了したら保存します。週別アーカイブテンプレートも同じ要領で作成し、「テンプレート名」を「週別アーカイブ」とします。

2.アーカイブマッピングの変更

「アーカイブマッピング」とは冒頭の説明の通り、あるアーカイブページとアーカイブテンプレートの対応です。ここではアーカイブページを生成する際、どのテンプレートを使用するかの設定を行います。

アーカイブマッピングの設定管理メニューの「設定」→「公開」→一番下の「アーカイブマッピング」欄に進みます。右側にある「マッピングを新規作成」をクリックすると画像のような設定画面が表示されますので、プルダウンメニューより下記のように選択し、「追加」をクリックします。画像は日別アーカイブのマッピング例です。
日別の場合
アーカイブの種類:日別 テンプレート:日別アーカイブ
週別の場合
アーカイブの種類:週別 テンプレート:週別アーカイブ

アーカイブマッピング状態設定すると、下にある一覧の「日別」欄に「日付アーカイブ」と「日別アーカイブ」、「週別」欄に「日付アーカイブ」と「週別アーカイブ」がそれぞれ表示されます(画像)。
次に、元々ある日付アーカイブとのマッピングは不要のため、「日別」欄の「日付アーカイブ」の右側にあるゴミ箱マークをクリックします。クリックすると「Are you sure you want to delete this template map?」というダイアログが表示されますので「OK」をクリックします。 週別も同様に「週別」欄の「日付アーカイブ」の右側にあるゴミ箱マークをクリックして削除します。

このマッピングが残っていると、例えば日別であれば、日付アーカイブテンプレートを使用したアーカイブページ、日別アーカイブテンプレートを使用したアーカイブページの2種類が生成されてしまいます。再構築時間にも影響しますし、仮に同じファイル名にしていると、後から生成されたものが前のファイルを上書きしてしまいますので削除しましょう。なおアーカイブマッピングの再設定をすれば簡単に復活できます。

不要マッピング削除後の画面ということで、画像のように新しく作ったアーカイブマッピングだけ残っている状態になればOKです。

3.再構築を有効にする

上の画像の一番左にあるチェックボックスは、再構築対象にする・しないを決めるためのものです。上の画像では日別アーカイブは再構築されますが、週別アーカイブは再構築されない状態を示しています。Movable Type のデフォルト状態では日別・週別にはチェックされていないので、再構築が必要なアーカイブにチェックをつけて保存します。
これで全ての設定は完了です。

公開テンプレートをお使い頂いた方からよく「再構築でエラーになります」という質問を頂くのですが、公開テンプレートのメインページ(や他のアーカイブページ)にはカレンダーを表示するようにしており、カレンダーを表示するタグの中に

<a href="<$MTEntryLink archive_type="Daily"$>">

という設定があります。これはカレンダーの日付のリンクで、リンク先として日別アーカイブページを archive_type 属性で設定しています。この設定は日別アーカイブページの再構築を有効な状態にしておかないと再構築時に

テンプレート「xxxページ」の再構築に失敗しました: <MTCalendar>タグでエラーが発生しました: <MTCalendarIfEntries>タグでエラーが発生しました: <MTEntryLink>タグでエラーが発生しました: <$MTEntryLink$>タグを使って、Dailyアーカイブにリンクしようとしましたが、そのアーカイブ・タイプは公開されていません。

というエラーになります。再構築を有効にするための設定がこの「アーカイブマッピング」の日別欄のチェックです。
デフォルトではここがチェックされていないためエラーになる訳です。

4.公開テンプレート修正例

公開テンプレートでは日付アーカイブページに

<div class="sidetitle">
The list of "<$MTArchiveTitle$>"
</div>
 
<div class="side">
<MTEntries>
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><br />
</MTEntries>
</div>

という、該当アーカイブページの一覧を表示するサイドメニューを設置しています。
月別アーカイブでは青色の生成されるタイトル部分が

The list of "2005年10月"

となりますが、日別アーカイブでは

The list of "2005年10月20日"

と、やや長くなります。
日付アーカイブを共用しているとこの部分は変更できないのですが、独立させた日別アーカイブテンプレートのみ、例えば

<div class="sidetitle">
The List of "<$MTArchiveDate format="%b"$>月<$MTArchiveDate format="%d"$>日"
</div>

と変更することで、日別アーカイブページの該当部分を

The list of "10月20日"

という表示に変更することが可能になります。

Comments [8] | Trackbacks [1]
2005年10月11日

Movable Type テンプレート(for StyleCatcher)

テンプレートライブラリMovable Type のプラグイン StyleCatcher 用のテンプレート(スタイルシートのみ)を公開します。StyleCatcher 自体の設定・利用方法についてはStyleCatcher によるスタイル変更方法を参考にしてください。

これは、現在公開中の Movable Type テンプレートのスタイルシートの各IDセレクタ・classセレクタをデフォルトテンプレートに合うように変更し、StyleCatcher プラグインが提供する base-weblog.css と併用可能な実装にしたものです。例えばデフォルトの2カラムレイアウトを変更しないのであれば、StyleCatcher の操作のみですべてのテンプレートのスタイルを切り替えることが可能です。

なおカラムレイアウトは固定レイアウトのみ動作を確認しています。テンプレートをリキッドレイアウトにしたり、詳細なカスタマイズを行いたい場合はMovable Type テンプレートをご利用ください。

使い方

* カッコ内は 3.2 で英語版の StyleCatcher プラグインを利用する場合の項目を表示しています。

下記のURLをコピーして StyleCatcher プラグインの「テーマ/リポジトリへのURL: (Theme or Repository URL)」に設定し、「スタイル検索(Find Style)」をクリックしてください。

サムネール画像が表示されたらそれをクリックし、(複数ブログがある場合のみ)右下のプルダウンメニューから適用するブログを選択(Select a Weblog...)、最後に「デザインを適用(Choose this Design)」でクリックします。
成功すると、

新しいテーマを適用しました(Successfully applied new theme selection.)

というダイアログが表示されます。これで全体を再構築をすれば新しく選択したスタイルがブログに反映されます。

レイアウト切り替え

公開テンプレートと同様、スタイルシートひとつで1カラム?3カラムまでの各レイアウトに対応しています。
レイアウトは、各テンプレートの body 要素の class属性を書き替えることで行います(詳細はMovable Type テンプレートの1項を参照してください)。
なお公開テンプレートと異なる点として、デフォルトレイアウトのカラム名(IDセレクタ)は左から alpha、beta、gamma と指定するようになっています。またそれぞれに xxx-inner という名称のセレクタが存在します。

インストール後のデフォルトレイアウトは、本文に alpha、右カラムに beta という id 属性が割り当てられています。下記はメインページのHTMLマークアップです。

         :
       (略)
         :
<div id="pagebody">
   <div id="pagebody-inner" class="pkg">
      <div id="alpha">
         <div id="alpha-inner" class="pkg">
                :
        (左カラム:本文)
                :
         </div>
      </div>
      <div id="beta">
         <div id="beta-inner" class="pkg">
                :
      (右カラム:サイドバー)
                :
         </div>
      </div>
   </div>
</div>
         :
       (略)
         :

これを3カラムに変更するにはHTMLマークアップを下記のように変更します。

         :
       (略)
         :
<div id="pagebody">
   <div id="pagebody-inner" class="pkg">
      <div id="alpha">
         <div id="alpha-inner" class="pkg">
                :
      (左カラム:サイドバー)
                :
         </div>
      </div>
      <div id="beta">
         <div id="beta-inner" class="pkg">
                :
       (中央カラム:本文)
                :
         </div>
      </div>
      <div id="gamma">
         <div id="gamma-inner" class="pkg">
                :
      (右カラム:サイドバー)
                :
         </div>
      </div>
   </div>
</div>
         :
       (略)
         :

まず、右カラム部分の id 属性名 beta と beta-inner を gamma および gamma-inner に変更します。同様に中央カラムの id 属性名 alpha および alpha-inner を beta と beta-inner に修正します。最後に左カラムになる alpha と alpha-inner という id 属性名の div 要素を追加します。

3カラムレイアウトの各カラムと id 属性の対応は下記のようになります。

  • alpha/alpha-inner:左カラム(左サイドバー)
  • beta/beta-inner:中央カラム(本文)
  • gamma/gamma-inner:右カラム(右サイドバー)

2カラム(左サイドバー)に変更する場合は、

  • alpha/alpha-inner:左カラム(サイドバー)
  • beta/beta-inner:中央カラム(本文)

となるように修正します。

Comments [30] | Trackbacks [11]
2005年10月 7日

3.2 アップグレードによるテンプレート変更箇所

October 7,2005 12:30 AM
Tag:[, , ]
Permalink

3.17-ja(以降)から 3.2-ja にアップグレードされた場合の、各テンプレートの変更箇所をまとめてみました。3.15x-ja からアップグレードされた方は3.2 アップグレードによるテンプレート変更箇所(3.15x用)をご覧ください。

なお 3.2 英語版では、3.1x のテンプレートでコメントが正常に投稿できないという問題がありましたが、3.2 日本語版に 3.17-ja 以降 のテンプレートを設定したところ、この記事の変更を行わなくても正常に投稿できました。ということで無理にこの変更を行う必要はないと思いますが、3.2 では色々と改善されていると思われますのでお勧めレベルの内容です。

また 3.2 がリリースされたかなり早い時期に下記のエントリーがあがっており、参考にさせて頂きました。ありがとうございました。

The blog of H.Fujimoto:Movable Type 3.2でのコメント入力フォームの変更

以下、修正箇所について説明します(不足ありましたらお許しください)。

1.メインインデックス/カテゴリー・アーカイブ/日付アーカイブ

body 要素

コメント・トラックバック欄のMTタグ MTEntryIfAllowPings および MTEntryIfAllowComments(赤色)を MTIfPingsActive および MTIfCommentsActive(青色)に変更します

修正前
<MTEntryIfAllowPings>
       :
</MTEntryIfAllowPings>
 
<MTEntryIfAllowComments>
       :
</MTEntryIfAllowComments>
修正後
<MTIfPingsActive>
       :
</MTIfPingsActive>
 
<MTIfCommentsActive>
       :
</MTIfCommentsActive>

2.エントリーアーカイブ/コメント・プレビュー/コメント・エラー

head 要素

<head>~</head> にある Remember Me のインクルードは不要ですので下記の行を削除します。

<MTInclude module="Remember Me">

その代わりに、<head>~</head> にJavaScriptのインクルードを追加します。

<script type="text/javascript" src="<$MTBlogURL$>mt-site.js"></script>

コメント・プレビュー/コメント・エラーの場合はさらにもう1行追加します。

<script type="text/javascript" src="<MTStaticWebPath>js/commenter_name.js"></script>

body 要素

body 要素自体にJavaScriptを起動する記述を追加します。
<body onload="individualArchivesOnLoad(commenter_name)">

またコメント・トラックバックのMTタグ MTEntryIfAllowPings および MTEntryIfAllowComments(赤色)を MTIfPingsActive および MTIfCommentsActive(青色)に変更します

修正前
<MTEntryIfAllowPings>
       :
</MTEntryIfAllowPings>
 
<MTEntryIfAllowComments>
       :
</MTEntryIfAllowComments>
修正後
<MTIfPingsActive>
       :
</MTIfPingsActive>
 
<MTIfCommentsActive>
       :
</MTIfCommentsActive>

なお、MTPings MTComments タグについてはこれまで通りですが、コメント・トラックバックが存在しない場合はタグに挟まれたデータは表示されませんのでご注意ください。

3.その他

上記以外の変更箇所は文章での説明が困難ですので、公開テンプレートを例にして、3.1x-ja から 3.2-ja への修正箇所をリストでまとめて表示します。デフォルトテンプレートもほぼ同じ変更で済むと思いますので参考になれば幸いです。削除を赤色、追加を青色で示しています。

エントリーアーカイブ

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
<meta name="generator" content="http://www.movabletype.org/" />
 
<title><$MTBlogName encode_html="1"$>: <$MTEntryTitle$></title>
 
<link rel="stylesheet" href="<$MTBlogURL$>styles-site.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="<$MTBlogURL$>index.rdf" />
<link rel="alternate" type="application/atom+xml" title="Atom" href="<$MTBlogURL$>atom.xml" />
 
<link rel="start" href="<$MTBlogURL$>" title="Home" />
<MTEntryPrevious>
<link rel="prev" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>" />
</MTEntryPrevious>
<MTEntryNext>
<link rel="next" href="<$MTEntryPermalink$>" title="<$MTEntryTitle encode_html="1"$>" />
</MTEntryNext>
<$MTEntryTrackbackData$>
 
<MTInclude module="Remember Me">
<script type="text/javascript" src="<$MTBlogURL$>mt-site.js"></script>
 
<MTBlogIfCCLicense>
<$MTCCLicenseRDF$>
</MTBlogIfCCLicense>
 
</head>
 
<body onload="individualArchivesOnLoad(commenter_name)">
 
<div id="box">
 
<!-- タイトル開始 -->
<div id="banner">
<h1><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName encode_html="1"$></a></h1>
<h2><$MTBlogDescription$></h2>
</div>
<!-- タイトル終了 -->
 
<!-- コンテンツ開始 -->
<div id="container">
 
<div class="blog">
 
<div id="menu">
<MTEntryPrevious>
<a href="<$MTEntryPermalink$>">« <$MTEntryTitle$></a> |
</MTEntryPrevious>
<a href="<$MTBlogURL$>">メイン</a>
<MTEntryNext>
| <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> »</a>
</MTEntryNext>
</div>
 
<h2 class="date"><$MTEntryDate format="%x"$></h2>
 
<div class="blogbody">
 
<h3 class="title">●<$MTEntryTitle$></h3>
 
<$MTEntryBody$>
 
<div id="a<$MTEntryID pad="1"$>more"><div id="more">
<$MTEntryMore$>
</div></div>
 
<div class="posted">Posted by <$MTEntryAuthor$> at <$MTEntryDate$>
 
</div><!-- posted -->
</div><!-- blogbody -->
 
<!-- トラックバックを同一ウィンドウに表示する場合ここから -->
<MTEntryIfAllowPings>
<MTIfPingsActive>
<a id="trackbacks" name="trackbacks"></a>
<div class="comments-head">トラックバックURL</div>
<div class="comments-body">
<p class="techstuff">このエントリーのトラックバックURL:<br />
<$MTEntryTrackbackLink$></p>
</div>
 
<MTIfNonZero tag="MTEntryTrackbackCount">
<!--
<p>このリストは、次のエントリーを参照しています:  <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>:</p>
-->
<MTPings>
<MTPingsHeader><div class="comments-head">トラックバック</div></MTPingsHeader>
<MTPings>
<div class="comments-body">
<p id="p<$MTPingID$>">
» <a href="<$MTPingURL$>"><$MTPingTitle$></a> from <$MTPingBlogName$><br />
<$MTPingExcerpt$> <a href="<$MTPingURL$>">[続きを読む]</a>
</p>
<div class="comments-post">Tracked on <$MTPingDate$></div>
</div><!-- comments-body -->
</MTPings>
</MTIfNonZero>
</MTIfPingsActive>
</MTEntryIfAllowPings>
<!-- トラックバックを同一ウィンドウに表示する場合ここまで -->
 
<MTEntryIfAllowComments>
<MTIfCommentsActive>
 
<a id="comments" name="comments"></a>
<MTComments>
<MTCommentsHeader><div class="comments-head">コメント</div></MTCommentsHeader>
 
<MTComments>
<a id="c<$MTCommentID$>" name="c<$MTCommentID$>"></a>
<div class="comments-body">
<$MTCommentBody$>
<div class="comments-post">Posted by <$MTCommentAuthorLink default_name="Anonymous" spam_protect="1"$> <MTCommentAuthorIdentity> at <$MTCommentDate$></div>
</div>
</MTComments>
 
<MTEntryIfCommentsOpen>
 
<MTIfCommentsAllowed>
 
<div class="comments-head">コメントしてください</div>
<div class="comments-body">
 
<MTIfRegistrationRequired>
 
<div id="thanks">
<p>サイン・インを確認しました、
<script type="text/javascript" src="<MTCGIPath><MTCommentScript>?__mode=cmtr_name_js"></script><script>document.write(commenter_name);</script>.
さん。コメントしてください。 (<a href="<$MTRemoteSignOutLink static="1"$>">サイン・アウト</a>)</p>
 
(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)
 
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" onsubmit="if (this.bakecookie[0].checked) rememberMe(this)">
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
 
<p><label for="url">URL:</label><br />
<input tabindex="1" type="text" name="url" id="url" />
情報を登録する?
<input type="radio" id="remember" name="bakecookie" onclick="rememberMe(this.form)" /><label for="remember">はい</label><input type="radio" id="forget" name="bakecookie" onclick="forgetMe(this.form)" value="Forget Info" style="margin-left: 15px;" /><label for="forget">いいえ</label><br style="clear: both;" />
 
</p>
 
<p><label for="text">コメント:</label><br />
<textarea tabindex="2" id="text" name="text" rows="10" cols="50"></textarea></p>
 
<div align="center">
<input type="submit" tabindex="3" name="preview" value=" 確認 " />
<input style="font-weight: bold;" tabindex="4" type="submit" name="post" value=" 投稿 " />
</div>
</form>
 
</div>
 
<script language="javascript" type="text/javascript">
<!--
if (commenter_name) {
    document.getElementById('thanks').style.display = 'block';
} else {
    document.write('サイン・インしていません。このサイトにコメントをする前に登録してください。 <a href="<$MTRemoteSignInLink static="1"$>"> サイン・イン</a>');
    document.getElementById('thanks').style.display = 'none';
}
// -->
</script>
 
<MTElse> <MTTemplateNote value="Case of registration not required">
 
<MTIfRegistrationAllowed>
<script type="text/javascript" src="<MTCGIPath><MTCommentScript>?__mode=cmtr_name_js"></script>
<script language="javascript" type="text/javascript">
<!--
if (commenter_name) {
    document.write('サイン・インを確認しました、', commenter_name, 'さん。コメントしてください。 (<a href="<$MTRemoteSignOutLink static="1"$>">サイン・アウト</a>)');
} else {
    document.write('TypeKey ID を使って <a href="<$MTRemoteSignInLink static="1"$>"> サイン・イン</a> してください。');
}
// -->
</script>
</MTIfRegistrationAllowed>
 
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" id="comments_form" name="comments_form" onsubmit="if (this.bakecookie[0].checked) rememberMe(this)">
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
 
<script type="text/javascript">
writeTypeKeyGreeting(commenter_name, <$MTEntryID$>);
</script>
 
<MTIfCommentsModerated>
<p class="comments-open-moderated">
(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)
</p>
</MTIfCommentsModerated>
 
<div id="name_email">
<div id="name-email">
<p><label for="author">名前:</label><br />
<input tabindex="1" id="author" name="author" /></p>
 
<p><label for="email">メールアドレス:</label><br />
<input tabindex="2" id="email" name="email" /></p>
</div>
 
<MTIfRegistrationAllowed>
<script language="javascript" type="text/javascript">
<!--
if (commenter_name) {
    document.getElementById('name_email').style.display = 'none';
}
// -->
</script>
</MTIfRegistrationAllowed>
 
<p><label for="url">URL:</label><br />
<input tabindex="3" type="text" name="url" id="url" />
</p><p>
<label for="comment-bake-cookie"><input type="checkbox" id="comment-bake-cookie" name="bakecookie" tabindex="7" accesskey="r" onclick="if (!this.checked) forgetMe(document.comments_form)" value="1" onkeypress="if (!this.checked) forgetMe(document.comments_form)" />情報を保存する?</label>
保存しますか?
<input type="radio" id="remember" onclick="rememberMe(this.form)" name="bakecookie" /><label for="remember">はい</label><input type="radio" id="forget" name="bakecookie" onclick="forgetMe(this.form)" value="Forget Info" style="margin-left: 15px;" /><label for="forget">いいえ</label><br style="clear: both;" />
</p>
 
<p><label for="text">コメント:</label> <MTIfAllowCommentHTML>
(書式を変更するような一部のHTMLタグを使うことができます)</MTIfAllowCommentHTML><br />
<textarea tabindex="4" id="text" name="text" rows="10" cols="50"></textarea></p>
 
<div align="center">
<input type="submit" name="preview" tabindex="5" 
    value=" 確認 " />
<input style="font-weight: bold;" type="submit" name="post" 
    tabindex="6" value=" 投稿 " />
</div>
</form>
 
</MTElse>
 
</MTIfRegistrationRequired>
 
</div><!-- comments-body -->
 
</MTIfCommentsAllowed>
 
<script type="text/javascript" language="javascript">
<!--
if (document.comments_form.email != undefined)
    document.comments_form.email.value = getCookie("mtcmtmail");
if (document.comments_form.author != undefined)
    document.comments_form.author.value = getCookie("mtcmtauth");
if (document.comments_form.url != undefined)
    document.comments_form.url.value = getCookie("mtcmthome");
if (getCookie("mtcmtauth") || getCookie("mtcmthome")) {
    document.comments_form.bakecookie[0].checked = true;
} else {
    document.comments_form.bakecookie[1].checked = true;
}
//-->
</script>
 
</MTEntryIfCommentsOpen>
 
</MTIfCommentsActive>
</MTEntryIfAllowComments>

コメント・プレビュー(コメント・エラーは必要箇所を抜粋して変更してください)

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
<meta name="generator" content="http://www.movabletype.org/" />
 
<title><$MTBlogName encode_html="1"$>: コメントの確認</title>
<link rel="stylesheet" href="<$MTBlogURL$>styles-site.css" type="text/css" />
 
<MTInclude module="Remember Me">
<script type="text/javascript" src="<$MTBlogURL$>mt-site.js"></script>
<script type="text/javascript" src="<MTStaticWebPath>js/commenter_name.js"></script>
</head>
 
<body onload="individualArchivesOnLoad(commenter_name)">
 
<div id="box">
 
<!-- タイトル開始 -->
<div id="banner">
<h1><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName encode_html="1"$></a></h1>
<h2><$MTBlogDescription$></h2>
</div>
<!-- タイトル終了 -->
 
<!-- コンテンツ開始 -->
<div id="container">
<div class="blog">
 
<div class="comments-head">コメントの確認</div>
 
<div class="comments-body">
<$MTCommentPreviewBody$>
<p class="posted">Posted by <$MTCommentPreviewAuthorLink spam_protect="1"$> at <$MTCommentPreviewDate$></p>
 
<MTIfCommentsAllowed>
 
<MTCommentFields preview="1" static="1">
 
</MTIfCommentsAllowed>
</div><!-- comments-body -->
<MTEntryIfCommentsOpen>
 
<div class="comments-head">コメントしてください</div>
<div class="comments-body">
 
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" id="comments_form" name="comments_form" onsubmit="if (this.bakecookie.checked) rememberMe(this)">
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
 
<script type="text/javascript">
writeTypeKeyGreeting(commenter_name, <$MTEntryID$>);
</script>
 
<MTIfCommentsModerated>
<p class="comments-open-moderated">
(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)
</p>
</MTIfCommentsModerated>
 
<div id="name-email">
<p><label for="comment-author">名前:</label><br />
<input tabindex="1" id="comment-author" name="author" size="30" value="<$MTCommentPreviewAuthor$>" /></p>
<p><label for="comment-email">メールアドレス:</label><br />
<input tabindex="2" id="comment-email" name="email" size="30" value="<$MTCommentPreviewEmail$>" /></p>
</div>
<p><label for="comment-url">URL:</label><br />
<input tabindex="3" id="comment-url" name="url" size="30" value="<$MTCommentPreviewURL$>" />
</p>
<p>
<label for="comment-bake-cookie"><input type="checkbox" id="comment-bake-cookie" name="bakecookie" tabindex="6" accesskey="r" onclick="if (!this.checked) forgetMe(document.comments_form)" value="1" onkeypress="if (!this.checked) forgetMe(document.comments_form)" />情報を保存する?</label>
</p>
<p><label for="comment-text">コメント:</label> <MTIfAllowCommentHTML>
(書式を変更するような一部のHTMLタグを使うことができます)</MTIfAllowCommentHTML><br />
<textarea tabindex="4" id="comment-text" name="text" rows="10" cols="50"><$MTCommentPreviewBody autolink="0" sanitize="0" convert_breaks="0"$></textarea></p>
 
<div align="center">
<input type="submit" name="preview" tabindex="5" 
value=" 確認 " />
<input style="font-weight: bold;" type="submit" name="post" 
tabindex="6" value=" 投稿 " />
</div>
</form>
 
</div><!-- comments-body -->
</MTEntryIfCommentsOpen>
<p></p>
 
<MTComments>
<MTCommentsHeader><div class="comments-head">以前のコメント</div></MTCommentsHeader>
 
<div class="comments-body">
<MTComments>
<$MTCommentBody$>
<p class="posted">Posted by <$MTCommentAuthorLink default_name="Anonymous" spam_protect="1"$> at <$MTCommentDate$></p>
</MTComments>
</div><!-- comments-body -->
</MTComments>
 
</div><!-- blog -->
</div><!-- container -->
<!-- コンテンツ終了 -->
 
</div><!-- box -->
 
</body>
</html>

TypeKey のメッセージ表示は、JavaScript の writeTypeKeyGreeting を利用するように変更されています。この関数はインストール直後は空(処理が何もない)の状態ですが、TypeKeyの設定 *1 を行い、再構築を行うと必要な情報が自動的に埋め込まれるようになっています。

2005.10.17 追記
エントリー・アーカイブ/コメント・プレビュー/コメント・エラーの修正を同時に行うことについて追記しました。

2005.10.19追記
コメント・プレビュー/コメント・エラーの修正後イメージが誤ってましたので修正致しました(フォームデータのMTタグ記述もれ)。修正くださった方にはご迷惑おかけして申し訳ございません。

2005.10.20追記
コメント・プレビュー/コメント・エラーをさらに修正しました(input 要素へ p 要素終了タグ追加、div 要素 box 属性の終了タグ追加(既存バグ)、label 要素の for 属性名をそれぞれ修正)。
また修正元のテンプレートは 3.17x以降 のものであったため、本文を若干修正しました。現在 3.151-ja 以前のテンプレート変更箇所は示されておりませんので予めご容赦ください。

2005.10.25追記
エントリーアーカイブ/コメント・プレビュー/コメント・エラーのリストをさらに修正しました(input 要素の cookie 保存のタグを 3.2 のものと入れ替え)。たびたびの修正で申し訳ございません。


*1:「管理メニュー」の[設定] → [コメント/トラックバック] → [認証サービスの設定] → 認証サービスの設定のボタンをクリックして次画面の「return to Movable Type」のリンクをクリックすると、フォームのテキストエリアにトークンが設定されます。これで変更を保存すれば設定完了です。

Comments [26] | Trackbacks [7]
Now loading...
ギターに入った猫
掲載広告募集
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

AMN
Categories
Monthly Archives
2020年
2019年
2018年
2017年
2016年
2015年
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 6.0.3