Under the Bridge

a Picture of the Late Him

MTOS4.2向けテンプレートを作成する(2) XHTML構造とモジュール名

2008年7月27日 18:47 | Writer: yoshi | 記事本文 | コメント(0) | トラックバック(0)

新しく作るテンプレートのXHTML構造は、MT4.1のときやったのと同じ構造にする。デフォルトはもちろん参考にはするが、まんまデフォルト通りには作らない。

以下のようなXHTML構造にする予定。これはmtde.infoのメインインデックスのテンプレート。エントリもカテゴリも、基本的に同じである。

<$MTInclude module="mdlXMLDec"$>

<MTIgnore>変数宣言</MTIgnore>
<MTSetVar name="body_class" value="mt-main-index">
<MTSetVar name="colmn" value="">
<MTSetVar name="main_template" value="1">
<MTSetVar name="main_index" value="1">
<MTSetVarBlock name="title"><$MTBlogName encode_html="1"$></MTSetVarBlock>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

<$MTInclude module="mdlMeta"$>

<body<MTIf name="body_onload"> onload="<$MTGetVar name="body_onload"$>"</MTIf>>


   <$MTInclude module="ヘッダー"$>
   <$MTInclude module="mdlGlobalNavi"$>

   <div id="maincontainer">

      <div id="maincontent">

        (記事内容を記述)

      </div>

      <$MTInclude module="サイドバー"$>
      <$MTInclude module="mdlExtra"$>

   </div>

   <$MTInclude module="フッター"$>

</body>
</html>

デフォルトテンプレートでは、以前の「ヘッダー」や「フッター」というモジュール名が「バナーヘッダー」とか「バナーフッター」となっている。これは「HTMLヘッダー」として追加されたモジュールがメタ情報宣言などを行う役割となっているから、機能別に分けたかったのではないかと。その場合、「ヘッダー」はモジュール名としてあまりに安易であったので、このように名前が変わったのだと推測。

HTMLヘッダーの中身

<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="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$>

私はこの部分は、自分のテンプレートではmdlMetaというモジュールで初めから準備していた。ここ、名前を変えるだけでよい予感がする。

XML宣言もモジュール化したほうがよいと思うんだが、どうでしょうかね?同じ記述が何度も登場するこの部分こそ、モジュール化すべきだと思うが。私が以前作ったやつは、mdlXMLDecというモジュールで準備していたので、それもそのまま使用することにする。

あと、サイドバーはデフォルトテンプレートはbetaとgammaを同じモジュール内に併記しているんだが、私は

<$MTInclude module="サイドバー"$>
<$MTInclude module="mdlExtra"$>
と、分けることにする。

というか、日本語のモジュール名は何か違和感バリバリなので、全て英語で記述しようかと思案中(そうするとイチイチ日本語する必要もないし、それに伴う不具合もなくなる)。自分の前のテンプレートで「サイドバー」などというモジュール名は元々mdlSub(サブコンテンツのモジュール)であった。サイドバーの2本目はmdlExtra(エクストラコンテンツ)であり、日本語化が面倒だったのでそのまま放置していたのである。もちろん、不具合などない。

トラックバック(0)

このブログ記事を参照しているブログ一覧: MTOS4.2向けテンプレートを作成する(2) XHTML構造とモジュール名

このブログ記事に対するトラックバックURL:

コメントする






Categories
Entries
Feed
スポンサードリンク

parts

フィードメーター - Under the Bridge

あわせて読みたい

なかのひと

2008年4月5日開催、MT4LP5

2008 yoshi(apstar)