2008年2月20日

Movable Type 4.1 で「3-11・カラムレイアウトを変更する」を行う場合の注意

Movable Type 4.1 で「3-11・カラムレイアウトを変更する」を行う場合、手順1の内容を下記のように変更してください。
なお、手順1の上段のリストは「template_4_0_utf8_1_8」をもとにしています。お使いのテンプレートのテンプレートモジュール「ヘッダー」のbody要素の部分が上段の内容になっていない場合は、サポートサイトで配布している「小粋空間テンプレート」より、[Modules] header.mtml の内容をご利用ください。

手順1の上段のリスト(赤色が変更前の内容)

<MTUnless name="system_template"><MTSetVar name="page_layout" value="layout-three-column"></MTUnless>
<body class="<$MTGetVar name="page_layout"$>"<MTIf name="body_onload"> onload="<$MTGetVar name="body_onload"$>"</MTIf>>

手順1の下段のリスト(青色が変更後の内容)

<MTUnless name="system_template"><MTSetVar name="page_layout" value="layout-two-column-right"></MTUnless>
<body class="<$MTGetVar name="page_layout"$>"<MTIf name="body_onload"> onload="<$MTGetVar name="body_onload"$>"</MTIf>>

Movable Type 4.01 をお使いになっている場合、この変更は必要ありませんが、Movable Type 4.1 にアップグレードした後は、「テンプレート」→「テンプレートモジュール」→「ヘッダー」の下記の部分を変更してください。

変更前(赤色が削除部分)

<body class="<$MTGetVar name="page_layout" default="layout-three-column"$>"<MTIf name="body_onload"> onload="<$MTGetVar name="body_onload"$>"</MTIf>>

変更後(青色が追加部分)

<MTUnless name="system_template"><MTSetVar name="page_layout" value="layout-three-column"></MTUnless>
<body class="<$MTGetVar name="page_layout"$>"<MTIf name="body_onload"> onload="<$MTGetVar name="body_onload"$>"</MTIf>>

これはMT4.1でMTGetVarタグで使っている変数page_layoutの動作が変わったため、4.0用のテンプレートではカラムレイアウトが崩れてしまう不具合に対応するためのものです。

具体的な変更内容は、head要素の直前にMTUnlessタグを追加して、body要素にあるdefault属性を削除しています。MTUnlessタグに記述した変数page_layoutが、default属性に設定したときと同じように動作します。

このブログ記事と同じカテゴリのブログ記事