MT4.1→MT4.2へのバージョンアップでの不具合対処法・その2

2009年7月31日

さて前回の続き。
もうひとつの再構築エラーについて。
エラーメッセージ
——————————–
再構築エラー: テンプレート「メインページ(新)」の再構築中にエラーが発生しました:
<mtInclude>タグでエラーがありました: error in module
ヘッダー: テンプレート「ヘッダー」の再構築中にエラーが発生しました:
<mtsetvarblock>タグでエラーがありました: <mtIf>タグでエラーがありました: <mtLink>タグでエラーがありました: ‘atom’というテンプレートが見つかりませんでした。
——————————–
これは、feedの扱いが変更されたため発生したエラー。
MT4.1では、フィード(RSS)ファイルは、AtomとRSSの2つのファイルを生成していたが、MT4.2になるとAtomだけの出力になっている。
そしてAtomの判別をMT4.1ではatomとしていたが、4.2では判別名がfeed_recentに変更されている。


——————————–
<link rel="alternate" type="application/atom+xml"
         title="Atom" href="<$MTLink template="atom"$>" />
<link rel="alternate" type="application/rss+xml"
         title="RSS" href="<$MTLink template="rss"$>" />
——————————–
上記のコードで書かれているテンプレートは、エラーがおきる。
(ただし、「テンプレートの種類」を、最新記事のフィード(feed_recent)に割り付けられていた場合。)
この場合、
MTLink template=”atom”

MTLink template=”feed_recent”
に変更。
しかし、MT4.2やMT3は、下記のように、テンプレートの種類の判定は必要がない。
つまり直接ファイル名atom.xml、index.xmlを指定しているため、影響を受けない。
そのため、基本的にはエラーがでない。
——————————–
 <link rel="alternate" type="application/atom+xml"
         title="Atom" href="<$MTBlogURL$>atom.xml" />
 <link rel="alternate" type="application/rss+xml"
         title="RSS 2.0" href="<$MTBlogURL$>index.xml" />
——————————–
この際、もっとも最悪だったMT4.1のテンプレート、モジュールテンプレート「ヘッダー」(head部分とbodyのalphaまで)を、MT4.2タイプに変更したほうが手っ取り早い。
今後のバージョンアップのためにも、シンプル構造のテンプレートにしておいたほうが後々、対処しやすくわかりやすい。
さて、MT4.1から採用されたテンプレートセット、テンプレートの種類はMT4.2では7種。
カスタムインデックステンプレート
RSD(rsd)
スタイルシート(styles)
最新記事のフィード(feed_recent)
JavaScript(javascript)
アーカイブインデックス(archive_index)
メインページ(main_index)
MT4.1の
Atom(atom)、RSS(rss)は、最新記事のフィード(feed_recent)に統合されている。
ご参考までに。
今回のバージョンアップ、心配したのは実はカスタムフィールドの移行。
MT4.1で新規作成したブログのカスタムフィールド利用と、
MT3.3で作成したブログを変更して、本文の一部内容をカスタムフィールドに移行したブログ
この2パターンのブログ、データが問題なく移行されたので一安心。
今後もカスタムフィールドでのカスタマイズ、強力なツールになることが実証された。
もうひとつ、このバージョンアップで再構築時間が劇的にアップ。
MT4.1は、MTにとっても最悪バージョンだなとあらためて実感するのであった(笑)
そもそもこのMTバージョンアップ。
もっと誰でも簡単に行えるように改善して欲しいものである!