Movable Type 4.0 beta 2でのphp化とXML宣言
Posted by @Style :
00:03
|
コメント (0)
|
トラックバック (0)
php化は3.3と同様に変更できるが、php化を行ってもXML宣言記述したい。
拡張子phpとした場合にはXML宣言は以下のようになる(ダイナミックパブリッシングの場合は除く)
<?php echo '<?xml version="1.0" encoding="<$MTPublishCharset$>"?>'."\n" ?>
テンプレートにそのまま追加すれば良いのだが、moduleとしてmdlXMLDec等と名前を付け、MTIncludeで挿入したい。
<$MTInclude module="mdlXMLDec"$>
しかしシステムテンプレートはcgiなので、<?php echo 'と'."\n" ?>は不要となる。
MTIfを利用して分岐を作ってみる。
システムテンプレートの先頭3行目には以下の記述がある。
<MTSetVar name="system_template" value="1">
これを利用して分岐させる
<MTIf name="system_template"><?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<MTElse><?php echo '<?xml version="1.0" encoding="<$MTPublishCharset$>"?>'."\n" ?></MTElse></MTIf>
それではどこに挿入するのか。
インデックステンプレート
<MTSetVar name="page_id" value="main-index">
<MTSetVar name="main_template" value="1">
<MTSetVar name="main_index" value="1">
<MTSetVar name="sidebar" value="1">
<MTSetVar name="module_recent_posts" value="1">
<MTSetVar name="module_category_archives" value="1">
<MTSetVar name="module_author_archives" value="1">
<MTSetVar name="module_monthly_archives" value="1">
<$MTInclude module="Header"$>
<$MTInclude module="Header"$>の前に挿入する。しかし、XML宣言は必ず文書の1行目に記述することになっているのでソース上の先頭の8行と空白の1行が邪魔である。
あるブログでの以下のようなやり取りを参考にさせていただいた。
MTIf系とMTSet系など、条件分岐と設定に関するタグはパブリッシュ段階でnullに置き換えられます。 で、改行はそのまま残るので空白行が山盛りになります。
全てを1行で記述する
<MTSetVar name="page_id" value="main-index"><MTSetVar name="main_template" value="1"><MTSetVar name="main_index" value="1"><MTSetVar name="sidebar" value="1"><MTSetVar name="module_recent_posts" value="1"><MTSetVar name="module_category_archives" value="1"><MTSetVar name="module_author_archives" value="1"><MTSetVar name="module_monthly_archives" value="1"><$MTInclude module="mdlXMLDec"$><$MTInclude module="Header"$>
注意:ベータ2のスタイルシートはXML宣言があるとIE6で表示が左寄りとなります。スタイルシートに互換モード対応のカスタマイズが必要です。
追記:一部誤りがありましたので修正いたしました。
前のエントリー:Movable Type 4.0 beta 2でWidget
次のエントリー:Movable Type version 4.0 Beta 3のMT_TRANS phrase
関連記事
- MT DDC Tokyo テーマ編へ行ってきました
- zenback ベータテスト開始!
- MovableType 4.2 2Column HTML5の解説(サイドバー)
- MovableType 4.2 2Column HTML5の解説(コメントフォーム)
- MovableType 4.2 2Column HTML5の解説(ブログ記事)
- MovableType 4.2 2Column HTML5の解説(幅の調整)
- MovableType 4.2 2Column HTML5の解説(ブログ記事の概要)
- MovableType 4.2 2Column HTML5の解説(ブログ記事のメタデータ)
- MovableType 4.2 2Column HTML5の解説(headerとブログ記事リスト)
- MovableType 4.2 2Column HTML5の解説(概要)
トラックバック
このエントリーのトラックバックURL:
http://atstyle.biz/blog/mt-tb.cgi/771





