MT テンプレート製作 その2

| コメント(0) | トラックバック(0)
先日作ったHTMLヘッダーの内容を、ちょっといじって全てのページで表示できるようにしてみます。そうする事により「モジュール」の一つとして扱えるようになるので、後々管理が楽になると思います。

まず、HTMLヘッダー自体が、各ページによってどう違うようにならなければいけないのか。基本的に違いが必要なのはタイトルとメタ情報です。タイトルだけでいうと、トップページではブログのタイトル。カテゴリーページではカテゴリータイトル&ブログタイトル、記事のページでは記事タイトル&ブログタイトル。というように各ページでタイトルの表示を変える必要があると思います。
絶対に必要な変更という訳ではありませんが、SEOなどの要素にもなるかと思われますので、やっておいて損は無いでしょう。
メインページ
まずはメインページのコードです。
<mt:if name="main_index">
    <title><$mt:BlogName encode_html="1"$></title>
<mt:if>で、「main_index」のページの時は、タイトルは<$mt:BlogName encode_html="1"$>と表示するという内容です。

記事/ウェブページ
次は記事やウェブページのコードです。
<mt:Else name="feedback_template">
    <meta name="keywords" content="<mt:EntryTags glue=","><$mt:TagName$></mt:EntryTags>" />
    <meta name="description" content="<$mt:EntryExcerpt$>" />
    <title><$mt:EntryTitle$> - <$mt:BlogName$></title>
       
        <mt:EntryPrevious>
        <link rel="prev" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
        </mt:EntryPrevious>
       
        <mt:EntryNext>
        <link rel="next" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
        </mt:EntryNext>

    <$mt:EntryTrackbackData$>
</mt:Else>
<mt:Else>で、<mt:if>で指定していた「main_index」のページでは無く、「feedback_template」のページの際は、metaのkeywordsの部分に、記事につけたタグを出力、descriptionの部分に記事の概要を出力。さらにタイトルには「記事タイトル - ブログタイトル」と表示するという内容です。

アーカイブページ
次はカテゴリーや月別などのアーカイブページのコードです。
<mt:Else name="archive_listing">
    <title><$mt:ArchiveTitle$> - <$mt:BlogName$></title>
   
    <mt:ArchivePrevious>
    <link rel="prev" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
    </mt:ArchivePrevious>

    <mt:ArchiveNext>
    <link rel="next" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
    </mt:ArchiveNext>

</mt:Else>
<mt:Else>で、<mt:if>で指定していた「main_index」のページでは無く、「archive_listing」のページの際は、タイトルは「アーカイブタイトル - ブログタイトル」と表示するという内容です。

その他のページ
次はその他のページ用のコードです。
<mt:Else>
    <title><$mt:BlogName$></title>
</mt:Else>
<mt:Else>で、メインページでも記事ページでもアーカイブページでも無いページの際は、<$mt:BlogName$>で出力した「ブログタイトル」と表示するという内容です。

各ページ共用HTMLヘッダー
最後に各ページ共用を目的として作ったHTMLヘッダーは以下のようになります。
<!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" xml:lang="<$mt:DefaultLanguage$>" lang="<$mt:DefaultLanguage$>">
 <head>
    <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="alternate" type="application/atom+xml" title="最新の記事" href="<$mt:Link template="feed_recent"$>" />
    <link rel="EditURI" type="application/rsd+xml" title="RSD" href="<$mt:Link template="rsd"$>" />
    <link rel="start" href="<$mt:BlogURL$>" title="Home" />
    <script type="text/javascript" src="<$mt:Link template="javascript"$>"></script>

<!-- メインページ -->
<mt:if name="main_index">
    <title><$mt:BlogName encode_html="1"$></title>

<!-- 記事/ウェブページ -->
<mt:Else name="feedback_template">
    <meta name="keywords" content="<mt:EntryTags glue=","><$mt:TagName$></mt:EntryTags>" />
    <meta name="description" content="<$mt:EntryExcerpt$>" />
    <title><$mt:EntryTitle$> - <$mt:BlogName$></title>
       
        <mt:EntryPrevious>
        <link rel="prev" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
        </mt:EntryPrevious>
       
        <mt:EntryNext>
        <link rel="next" href="<$mt:EntryPermalink$>" title="<$mt:EntryTitle$>" />
        </mt:EntryNext>

    <$mt:EntryTrackbackData$>
</mt:Else>

<!-- アーカイブページ -->
<mt:Else name="archive_listing">
    <title><$mt:ArchiveTitle$> - <$mt:BlogName$></title>
   
    <mt:ArchivePrevious>
    <link rel="prev" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
    </mt:ArchivePrevious>

    <mt:ArchiveNext>
    <link rel="next" href="<$mt:Archivelink$>" title="<$mt:ArchiveTitle$>" />
    </mt:ArchiveNext>

</mt:Else>

<!-- その他 -->
<mt:Else>
    <title><$mt:BlogName$></title>
</mt:Else>

</mt:if>

</head>
今回は前回作ったHTMLヘッダーのタイトル部分に<mt:if>から</mt:if>で、各ページに対応した内容を表示するようにしたという事になります。メインページでも記事ページでもアーカイブページでも使用できるモジュールとしてのHTMLヘッダー作りは完了です。

トラックバック(0)

トラックバックURL: http://blog.cube-dg.com/mtos/mt-tb.cgi/18

コメントする

このブログ記事について

このページは、CUBEが2009年5月 5日 19:12に書いたブログ記事です。

ひとつ前のブログ記事は「MT テンプレート製作 その1」です。

次のブログ記事は「MT テンプレート製作 その3」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.01