タグ「Movable Type 4.2」が付けられているもの

お知らせ

作って覚えるPHP+MySQLアプリケーション 2008年6月24日

作って覚えるPHP+MySQLアプリケーション」が発売されました。
PHP+MySQL+Smartyを使って、ブログ/ショッピングサイト/マッシュアップの3つのWebアプリケーションを作る方法を解説しています。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

134ページ リスト5.10

134ページのリスト5.10は以下のようになります。

<dt id="recententriesname" class="sidetitle">
Recent Entries
</dt>

<dd id="recententrieslist" class="side">
  <ul>
<mt:entries lastn="10">
    <li><a href="<mt:entryPermalink$>" title="e<mt:entryID$>"><mt:entryTitle$></a></li>
</mt:entries>
  </ul>
</dd>

<script type="text/javascript">
//<![CDATA[
FoldNavigation('recententries', 'on', false);
//]]>
</script>

133ページ リスト5.9

133ページのリスト5.9は以下のようになります。

<mt:If tag="BlogEntryCount">
    <mt:Entries lastn="10">
        <mt:EntriesHeader>
<div class="widget-recent-entries widget-archives widget">
    <h3 id="recententriesname" class="widget-header">最近のブログ記事</h3>
    <div id="recententrieslist" class="widget-content">
        <ul>
        </mt:EntriesHeader>
            <li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li>
        <mt:EntriesFooter>
        </ul>
    </div>
</div>
        </mt:EntriesFooter>
    </mt:Entries>
</mt:If>

<script type="text/javascript">
//<![CDATA[
FoldNavigation('recententries', 'on', false);
//]]>
</script>

131ページ リスト5.3

131ページのリスト5.3は、以下のようになります。
テンプレートタグの表記方法が異なるだけで、内容は同じです。

<meta http-equiv="Content-Type" content="text/html; charset=<$mt:PublishCharset$>" />
<meta name="generator" content="<$mt:ProductName version="1"$>" />
<link rel="stylesheet" href="<$mt:Link template="styles"$>" type="text/css" />
<link rel="stylesheet" href="<$MTBlogURL$>custom_styles.css" type="text/css" />
<link rel="start" href="<$mt:BlogURL$>" title="Home" />
<link rel="alternate" type="application/atom+xml" title="Recent Entries" href="<$mt:Link template="feed_recent"$>" />
<script type="text/javascript" src="<$mt:Link template="javascript"$>"></script>
<$mt:CCLicenseRDF$>
<script type="text/javascript" src="<$MTBlogURL$>menufolder.js"></script>

127ページのリスト5.1とリスト5.2は、それぞれ以下のようになります。
書籍とはタグの表記方法が異なるのみです。

リスト5.1 Movable Typeの標準テンプレートセットでの書き替え箇所
<mt:Ignore><!-- Display TrackBacks for the entry/page or TrackBack details if TrackBacks are being accepted --></mt:Ignore>
<mt:IfPingsActive>
・
・(途中略)
・
    <mt:IfPingsAccepted>
    <div class="trackbacks-info">
        <p>このブログ記事へのリンク:<br /><input type="text" value="&lt;a href=&quot;<$MTEntryPermalink$>&quot;&gt;<$MTEntryTitle encode_html="1"$>&lt;/a&gt;" onclick="this.select();" style="width : 90%" /></p>
        <p>トラックバックURL: <input id="trackbacks-link" type="text" value="<$MTEntryTrackbackLink$>" onclick="this.select();" style="width : 90%;" /></p>
    </div>
    </mt:IfPingsAccepted>


    <mt:Ignore><!-- Display TrackBacks --></mt:Ignore>
・
・(以後略)
・
リスト5.2 小粋空間テンプレートセットでの書き替え箇所
<mt:ifPingsActive>
<div id="trackbacks">

   <mt:ifPingsAccepted>
   <h3 class="trackbacks-header">トラックバックURL</h3>

   <div id="trackbacks-info">
      <p>このエントリーへのリンク:<br /><input type="text" value="&lt;a href=&quot;<$MTEntryPermalink$>&quot;&gt;<$MTEntryTitle encode_html="1"$>&lt;/a&gt;" onclick="this.select();" style="width : 90%" /></p>
      <p>このエントリーのトラックバックURL:<br /><input id="trackbacks-link" type="text" value="<$MTEntryTrackbackLink$>" onclick="this.select();" style="width : 90%" /></p>
   </div>
   </mt:ifPingsAccepted>

   <mt:pings>
・
・(途中略)
・
</div>
</mt:ifPingsActive>

また、リスト5.1およびリスト5.2のサンプルファイル(trackback.tmpl)は、それぞれ以下からダウンロードすることができます。

Movable Type標準テンプレートセット用のサンプル(リスト5.1)
小粋空間テンプレートセット用のサンプル(リスト5.2)

日本語での使い方の解説は、こちらのページをお読みください。

English document is here.

WidgetSetLoopプラグイン

MTOS-DEVメーリングリストで、「『WidgetSetLoop』というテンプレートタグが欲しい」という提案が出ていました。
個人的にもこのタグは欲しいと思ったので、プラグインとして作ってみました。

EntryCategoriesタグを拡張するプラグインでは、前日解説したように、ブログ記事が属するカテゴリのブログ記事一覧を出力したり、ウェブページが属するフォルダのウェブページ一覧を出力したりすることができます。
ただ、単純にテンプレートモジュールを組むだけだと、そのテンプレートモジュールの再構築時の処理時間が、ブログ記事数やウェブページ数の二乗に比例するようになります。

参考:「複雑なキャッシュとその効果」

この問題を避けるために、Movable Type 4.2のキャッシュ機能を利用する方法を解説します。

サンプルファイルに122ページのリスト4.14(Movable Type標準テンプレートセット用ウィジェット)と、123ページのリスト4.15(小粋空間テンプレートセット用ウィジェット)が含まれていませんでしたので、追加します。

Movable Type標準テンプレートセット用ウィジェットのサンプル(リスト4.14)
小粋空間テンプレートセット用ウィジェットのサンプル(リスト4.15)

ただし、これらのリストでは、同名のサブカテゴリが複数存在すると、出力が正しくなりません。
例えば、以下のようなカテゴリー構造のときに、出力が正しくなりません。

  • カテゴリA
    • 「その他」という名前のサブカテゴリ
  • カテゴリB
    • 「その他」という名前のサブカテゴリ

拙作の「EntryCategoriesタグを改良するプラグイン」を利用すると、この問題を解決することができます。

Movable Type 4.2では、テンプレート/アーカイブで設定される変数が一部変更されています。
小粋空間様の「予約変数一覧 for Movable Type 4.2」の記事に変更点がまとめられていますので、そちらを参照してください。

EntryCategoriesタグを改良するプラグインでは、ブログ記事のページに、その記事が属するカテゴリの記事の一覧を出力することができます。
また、ウェブページに、そのページが属するフォルダのウェブページの一覧を出力することもできます。

ページ / 7ページ 最後のページ