Movable Type 備忘録

 ブログ記事別コメントフィード作成

  • Jan152009
  • Vote:
    http://bizcaz.com/archives/2009/01/15-232045.php
  • Categories: Customize
  • Tags:
  • Social Bookmark

こんばんわ^^

今日はほぼ 1 日お仕事が暇でした。
なので、こっそりブログ記事別のコメントフィードってのを考えてて、実際に先ほど作ってみたらできたのでご紹介します。

実際には大したことやってなくって、ブログ記事アーカイブとしてマッピングしたコメントフィード用のテンプレートを作成するだけですの。

サンプルはわたしのサイトの各ブログ記事ページ下にある、コメントフォームあたりにフィードの URL を貼り付けてますので確認して頂けたらと思います。
ちなみに、わたしのサイトではダイナミック・パブリッシングを利用してますので、コメントフィードもダイナミック・パブリッシングで作成されます。

ブログ記事別コメントフィード用のテンプレート

以下にわたしのサイトで使ってるコメントフィード用のテンプレートを記します。

コメントフィード用テンプレート

  1. <$MTHTTPContentType type="application/atom+xml"$><?php echo '<?xml version="1.0" encoding="<$MTPublishCharset$>"?>'."\n" ?>
  2. <feed xmlns="http://www.w3.org/2005/Atom">
  3.     <title><$MTBlogName remove_html="1" encode_xml="1"$>へのコメント</title>
  4.     <link rel="alternate" type="text/html" href="<$MTBlogURL encode_xml="1"$>" />
  5.     <link rel="self" type="application/atom+xml" href="<$MTEntryPermalink regex_replace="/\.php/","-comment.xml"$>" />
  6.     <id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<$MTTemplateCreatedOn format="%Y-%m-%d"$>:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id>
  7.     <MTIfNonEmpty tag="MTBlogDescription"><subtitle><$MTBlogDescription remove_html="1" encode_xml="1"$></subtitle></MTIfNonEmpty>
  8.     <generator uri="http://www.sixapart.com/movabletype/"><$MTProductName version="1"$></generator>
  9.  
  10.     <MTComments lastn="20" sort_order="descend">
  11.     <entry>
  12.         <title type="html"><$MTCommentAuthor$> が'<$MTEntryTitle remove_html="1" encode_xml="1"$>'にコメントしました。</title>
  13.         <published><$MTCommentDate format_name="rfc822"$></published>
  14.         <updated><$MTCommentDate format_name="rfc822"$></updated>
  15.         <id><$MTEntryAtomID$></id>
  16.         <link type="text/html" rel="alternate" href="<$MTEntryLink$>#c<$MTCommentID$>"/>
  17.         <author>
  18.             <name><$MTCommentAuthor$></name>
  19.             <uri><mt:ignore><$MTCommentEmail$></mt:ignore></uri>
  20.         </author>
  21.         <content type="html">
  22.             &lt;div class="content"&gt;
  23.                 &lt;p style="float:right;"&gt;&lt;img src="<$MTStaticWebPath$>images/status_icons/success.gif" alt="公開" width="9" height="9" /&gt;&lt;a href="<$MTEntryLink$>"&gt;公開&lt;/a&gt;&lt;/p&gt;
  24.  
  25.                 &lt;p&gt;
  26.                 &lt;b&gt;ブログ:&lt;/b&gt; &lt;a href="<$MTBlogURL$>"&gt;<$MTBlogName remove_html="1" encode_xml="1"$>&lt;/a&gt;&lt;br /&gt;
  27.  
  28.                 &lt;b&gt;ブログ記事:&lt;/b&gt; &lt;a href="<$MTEntryLink$>"&gt;<$MTEntryTitle remove_html="1" encode_xml="1"$>&lt;/a&gt;&lt;br /&gt;
  29.  
  30.                 &lt;b&gt;コメント投稿者:&lt;/b&gt; <$MTCommentAuthor$>&lt;br /&gt;
  31.                 &lt;b&gt;メール:&lt;/b&gt; <mt:ignore><$MTCommentEmail$></mt:ignore>&lt;br /&gt;
  32.                 &lt;b&gt;URL:&lt;/b&gt;<$MTCommentURL$> &lt;br /&gt;
  33.                 &lt;/p&gt;
  34.                 &lt;p&gt;
  35.             &lt;/div&gt;
  36.  
  37.             &lt;hr /&gt;
  38.         </content>
  39.     </entry>
  40.     </MTComments>
  41. </feed>

上記はブログの PHP 化を行ってるサイトさん用になります。
ご存知!? のようにわたしのサイトではブログの PHP 化を行ってます。その関係で上記赤字と青字の部分のようになります。

PHP 化を行ってないサイトさんの場合には、赤字の部分を以下のように変更したらいいと思います。

  1. <?xml version="1.0" encoding="<$MTPublishCharset$>"?>

また、出力されるフィードの URL( 青字の部分 )は以下のフォーマットになります。

フィード URL フォーマット

  1. ブログ記事 URL( 拡張子なし ) + '-comment.xml'

たとえば、わたしのサイトでいうと、

  1. http://bizcaz.com/archives/2009/01/12-195418-comment.xml

何度も言いますように、わたしのサイトでは PHP 化を行ってますので、拡張子 '.php' を '-comment.xml' に変換してるわけですが、PHP 化を行ってないサイトさんの場合には以下のようにしたらいいと思います。

  1. <$MTEntryPermalink regex_replace="/\.html/","-comment.xml"$>

設置の仕方

アーカイブ一覧 設置の仕方もカンタンです。
右の図はわたしのサイトのアーカイブ一覧になります。 これから赤で網掛けしたテンプレートを作成します。

  1. アーカイブテンプレート新規作成

    まず、ブログ記事別コメントフィード用のテンプレートを新規作成します。 右図の青で網掛けしたリンクをくりっくすることで、ブログ記事アーカイブを作成できます。

  2. テンプレート貼り付け

    次に上記ブログ記事別コメントフィード用のテンプレートをコピー & ペーストします。 テンプレート名称は何でも構いません。わたしのサイトでは「ブログ記事(コメント)」としてます。

  3. マッピングの設定

    アーカイブマッピング 次にアーカイブマッピングを設定します。
    右図の青で網掛けしたリンクをクリックすることでその下にある設定項目が表示されます。表示されたドロップダウンリスト中から「ブログ記事」を選択しください。

    そして、パスのところには各自の「ブログ記事」と同じ内容を記します。
    ただし、まったく同じにしてしまうとブログ記事ページと同名のファイルが作成されてしまうので、右図のように「-comment.xml」というように変更してください。
    作成したいファイル名は、先ほどわたしのサイトを例にしたような URL になります。

  4. 保存して再構築

    一通り設定できたら保存して再構築してください。
    そして、ブラウザから表示確認してみてください。

以上です。
わたしのサイトではコメントフォーム近くにフィードの URL を貼り付けてますが、各自のサイトデザインに合わせてフィードを公開してください (●>∀<●)/

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

 

コメント用フィード