技術情報提供ブログ

Movable Type をページ作成管理ツールとして利用する

こんにちは、上ノ郷谷(かみのごうや)です。

今日は、Movable Type を使って、ウェブサイト上のページを簡単に管理する方法をご紹介します。Movable Typeを簡易なCMS(コンテンツ管理システム)として利用するひとつの例です。

Movable Type はテンプレートを利用してコンテンツ(ウェブページ)を生成します。この仕組みをうまく利用して、ユーザーがブログにエントリー投稿するのと同じ感覚で、指定のウェブページを作成することができるようになります。ユーザーはHTMLを意識せずに、任意のウェブページを作成できます。

投稿したエントリーは、エントリーアーカイブとしてMovable Type上で保管されますので、今回の仕組みはエントリーアーカイブテンプレートを利用して実装します。

本来エントリーアーカイブは、コメント一覧やコメント投稿機能などが埋め込んでありますが、エントリーアーカイブテンプレートから、これらの部分を削除してしまえば、単なるウェブページと変わりありません。ユーザーは、Movable Typeのエントリー投稿画面(通常ブログを書く画面)を利用して、コンテンツの入力や修正が可能になります。

仕様をまとめる

こういった利用法の場合、仕様をまとめる作業を事前に行うと後々の作業を効率化できますので、まずエントリー投稿時の仕様をまとめます。また、生成するページの書き出し先を自由にカスタマイズできるようにアーカイブマッピング (公開設定) の仕様もまとめます。

エントリー投稿時の仕様
フィールド 入力する値
エントリー本文 作成するページのタイトル
ページの内容 作成するページのコンテンツ
追記 空白
概要 ページの概要 (あれば)
キーワード ページの書き出し先のパス (必要時のみ)
エントリー・ファイル名 エントリーのファイル名 (拡張子除く)
アーカイブマッピング (公開設定) の仕様

作成するページを特定のディレクトリに書き出したい場合、エントリー投稿の仕様にまとめたようにキーワードのフィールドにパス名を入力します。ですので、エントリーアーカイブの書き出し先をその仕様にあわせたものに設定する必要が有ります。

<$MTEntryKeywords$><$MTEntryBaseName$>.html

追加するパスがあった場合 (キーワードが空白ではない場合) のみ、キーワードのフィールドで設定したパスを表示し、そのパスに書き出すようにしています。

作成した仕様を元にテンプレートを作成する

作成した仕様を元に作成するエントリーアーカイブテンプレートのサンプルは以下のようになります。

<?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" xml:lang="ja" lang="ja">
  <head profile="http://www.w3.org/2003/g/data-view">
    <meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <MTIfNonEmpty tag="MTEntryExcerpt">
      <meta name="description" content="<$MTEntryExcerpt encode_html="1"$>" />
    </MTIfNonEmpty>
    <title><$MTEntryTitle$></title>
    <link rel="home" title="" href="/" />
    <link rel="stylesheet" media="screen" href="<$MTBlogURL$>styles-site.css" type="text/css" />
    <link rev="made" href="mailto:mail@foo.com" title="お問い合わせメールアドレス" />
  </head>
  <body>
    <div class="section" id="container">
      <h1><$MTBlogName$> - <$MTEntryTitle$></h1>
      <div class="section" id="content">
        <$MTEntryBody$>
      </div>
    </div>
    <address>Copyright &copy; <$MTBlogName$>.</address>
  </body>
</html>

仕様を明示する

ブログの概要には、どんな目的のブログなのか書いておくと、管理が非常に楽になります。また、エントリーのルールは、各ブログ管理画面のスタートページ(トップページからブログの名前をクリックして最初に表示されるページ)に書いておくと投稿者が迷う事なく、更新を行えます。

メインのブログリストに
ブログリストにブログの役割を明示
ブログの概略ページに
ブログの概略ページにエントリールールを明示

トラックバック

トラックバック URL

コメント

コメント投稿

本エントリーに関係のないご質問はサポートにお願いします。また、Movable Type に関するフィードバックは専用フォームよりお願い致します。

コメント投稿フォーム:

このページのトップへ