2010年3月| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
トップ > Movable Type > 今日のMovable Type 4.2:MT4.1用に作った『テンプレートセット』のプラグインがMT4.2でエラーの出る件について

今日のMovable Type 4.2:MT4.1用に作った『テンプレートセット』のプラグインがMT4.2でエラーの出る件について

2008年6月 7日 03:10

エラー表示

エラーが出るのは、MT4.2のja.pmからは、MT4.1独自のテンプレートモジュール名は削除されているからだ。

昨日のブログに「MT4.1で使えたカスタムテンプレートのプラグインは、MT4.2ではテンプレートの構造が変わったので、使えない場合がある。」と書いた。この現象はテンプレートのモジュール名を日本語で書き、config.yamlのlabel表記が英文の場合に起こる。
本日いろいろと検証した結果、エラーの原因は、MT4.2のja.pmから、MT4.1独自のテンプレートもモジュール名が削除されているころが理由であることがわかった。
※jm.pmは英語を日本語に置き換えるファイル

対応方法として、MT4.1用に作った『テンプレートセット』を、MT4.2のテンプレート構造に合わせて作り直し、config.yamlも書き換えるのが最もよいが、早急に作り直しができないという方のために対応方法を解説する。
MT4.1用の『テンプレートセット』のプラグインを作った人は、必ず読んでほしい。

◆エラーの現象

エラー内容を見ると、概ねはこんな感じだ。

テンプレート「ウェブページ」の再構築中にエラーが発生しました:
<mtInclude>タグでエラーがありました:
「ヘッダー」というモジュールテンプレートが見つかりませんでした。

「テンプレートを編集」をクリックすると、該当テンプレートが開くのだが、読み込まれているはずの、「ヘッダー」「フッター」が(新規作成)となっている。

上記のエラー表示がおきた場合は、テンプレートモジュールの管理画面を確認してみよう。

テンプレートモジュール管理画面

MT4.1では確かに日本語で表示されていたモジュール名が英文表記になっている。

もしや、ja.pmから、MT4.1独自のモジュール名が削除されているのではと思い、/lib\MT\L10N/ja.pmを調べると、該当ファイル名がない。

ではどうするか?3つの方法がある

◆対応方法

1. ja.pmにMT4.1独自のモジュール名を追加する

/lib\MT\L10N/ja.pmの184行目から192行目以降にテンプレートファイル名が書かれているので、その後に下記ソースを追加する

     'Comment Detail' => 'コメント詳細',
    'Entry Detail' => 'ブログ記事の詳細',
    'Entry Metadata' => 'ブログ記事のメタデータ',
    'Footer' => 'フッター',
    'Header' => 'ヘッダー',
    'Page Detail' => 'ウェブページの詳細',

ただしこのやり方はリスクが大きいのでお勧めはできない。プラグインで追加するコンテンツの日本語訳は、プラグインでおこなうのがベストだ。

2. テンプレート内で読み込んでいるモジュールの名前を、config.yamlに書いているlabelと揃える。

たとえば、こんな感じ。

◇ソース

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

◇config.yaml

header:
label: ヘッダー

英字表示と日本語表示が混ざってしまうのがまずいと思うなら、プラグインに L10N を持たせてやる方法を利用するといい。
※L10Nを持たせる方法は上ノ郷谷さんに教えてもらった。

3.テンプレート内で読み込んでいる日本語表記のモジュールの名前を、__trans phrase="英文ファイル名"に変換する。

たとえば、

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

<$MTInclude module="<__trans phrase="Header">"$>

と変換してやる。

なお、この文章を書くにあたっては、シックス・アパート株式会社の上ノ郷谷さんと書簡のやりとりを行い、幾多のアドバイスをいただいた。というのは知らなかった。上ノ郷谷さんに感謝。

MT4.2やMTOS4.2に特化した、『カスタムテンプレートセット』のプラグインは、正規版が出てから作る必要があるので、気が向いたら解説する予定。
#あくまでも気が向いたらだが…:-p

参考になれば幸い。

投稿者: Dakiny 日時: 2008年6月 7日 03:10 |  このエントリーをはてなブックマークに追加 「今日のMovable Type 4.2:MT4.1用に作った『テンプレートセット』のプラグインがMT4.2でエラーの出る件について」のはてなブックマーク被リンク数 |  このエントリをdel.icio.usに追加 このエントリのdeliciousの被リンク数  |  このエントリをlivedoorクリップに追加 このエントリのlivedoorクリップ被リンク数 |  「今日のMovable Type 4.2:MT4.1用に作った『テンプレートセット』のプラグインがMT4.2でエラーの出る件について」をTwitterでつぶやく |   | コメント(0)  | トラックバック (0)

トラックバック

このエントリーのトラックバックURL:
http://www.dakiny.com/mtos/mt-tb.cgi/1642
※文章内容と関係のないトラックバックは固くお断り。

コメントを投稿

Search


キャッシュ使用
Powered by 暴想

Download

Categories

ArchiveList

Trackbacks

Comments

お勧めMT本

MTOS活用テクニック―カスタムフィールドで本格的なCMS機能を実現!
MTOS活用テクニック
藤本壱著
ラトルズ
2009年2月発売

Movable Type 4.2 パーフェクトガイド
Movable Type 4.2 パーフェクトガイド
荒木勇次郎著
毎日コミュニケーションズ
2008年7月31日発売

Movable Type プロフェッショナル・スタイル MT4.1対応
Movable Type プロフェッショナル・スタイル
MT4.1対応

CSS Nite
毎日コミュニケーションズ
2008年4月8日発売