Movable Type 4.2 テンプレートセット修正

Movable Type 4.2 テンプレートセット修正

Posted at September 18,2008 1:23 AM
Tag:[MovableType, Template]

配布中の Movable Type 4.2 テンプレートセットを修正致しました。

Movable Type テンプレート

修正したテンプレートは、下記のバージョンで配布しています。

  • template_4_2_utf8_1_4
  • template_4_2_utf8_1_4_style
  • template_4_2_utf8_1_6_style_liquid

ご利用の皆様にはご迷惑をおかけして申し訳ございませんが、以前のバージョンで本エントリーの不具合が発生している場合は、テンプレートのバージョンアップを行うか、下記の修正を行ってください。

今回の問題で改修するテンプレートは、「ウェブページ」アーカイブテンプレートのみです。

1.問題点

  • ウェブページの表示時に JavaScript エラーが発生する。
  • スタイル対応版で、切り替えたスタイルがウェブページに反映されない(常に3カラム固定レイアウトで表示)。

2.原因

JavaScript エラーについては、Movable Type 4.1 まで使用していた mt.js に実装されている関数 individualArchivesOnLoad を起動していたため。エラー自体は引数に設定している commenter_name が未定義によるものです。

スタイルが反映されない問題については、body 要素で設定する CSS レイアウト用の変数 page_layout の値が、body 要素の直前にある MTSetVar タグで layout-three-columns という値で上書きされてしまっていたため。

3.対処

JavaScript エラーが発生する問題については、「ウェブページ」アーカイブテンプレートの先頭の方にある下記の MTSetVar タグを次のように修正してください。

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

<mt:setVar name="body_onload" value="individualArchivesOnLoad(commenter_name)" />

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

<mt:setVar name="body_onload" value="mtEntryOnLoad()" />

スタイルが反映されない問題については、「ウェブページ」アーカイブテンプレートの先頭の方にある下記の MTSetVar タグを1行削除してください。

<mt:setVar name="page_layout" value="layout-three-column" />
関連記事
トラックバックURL


トラックバック

Movable Type 4.2 小粋空間スタイルセット版テンプレートの注意点 from StarBrother
小粋空間テンプレートセットは、4.2ではスタイルセット対応版なので、サイドバー... [続きを読む]

Tracked on September 18, 2008 4:30 PM
コメント

yujiro様、こんばんは。
初歩的な質問で申し訳ないのですが、今までテンプレートがバージョンアップするたびに、mtフォルダ(ローカルサイト)を空にしてから、新しいものをコピー&ペーストしてからアップデートしていたのですが、もっとお手軽なバージョンアップ方法は無いものでしょうか?
(もし、既にエントリー記事になっていたらすみませんがURLを教えて頂けますか?)
ちなみに今現在は、XHTML 1.0 Strict(utf-8 版):スタイル対応版(フッタ付きリキッドレイアウト対応)の1_9から1_10へのバージョンアップを行い、mt-staticとpluginsの入れ替えのみ行っています。
また、リクエストとして今、自分が使っているテンプレートのバージョンが解るとすごく助かると思います。
自分勝手なお願いで申し訳ありませんが、ご意見の一つとしてコメントさせて頂きました。
よろしくお願いいたします。

[1] Posted by tsuduku : November 13, 2008 6:03 PM

>tsudukuさん
こんにちは。
ご質問の件ですが、一番簡単なバージョンアップ方法は、tsudukuさんのコメントに記されている、plugins フォルダ内にある KoikikukanTemplateSet フォルダの入れ替えを行った後、テンプレートセットの初期化を行うことです。mt-static/plugins 配下の内容はスタイルに関連するバージョンアップがない限り、差し替えは不要ですが、バージョンアップで差し替えになるファイルが明確になっていないことについてはお詫び申し上げます。
バージョン表記については仰るとおりです。追って追加したいと思います。
それではよろしくお願い致します。

[2] Posted by yujiro logo : November 17, 2008 10:20 AM

yujiro様、こんばんは。
早速のお返事、ありがとうございます。
テンプレートのバージョンアップですが、テンプレートを初期化するのは解りました。
あとは今まで自分で作成したウィジェットをそのまま使い続けたいのですがどうすれば良いでしょうか?
これまた自分勝手なお話で申し訳ないのですが、バックアップはできるだけ作りたくないので。。。(そのかわりドライブにすべてコピペしてます(^^ゞ)
3つのラジオボタンのうち、1番目を選択するとウィジェットやテンプレートは保護されると記載されていますが、テンプレートがバージョンアップされたのかが解らないという心配と、2番目のラジオボタンの「新しいテンプレート」というのを選択すると、ウィジェットを設定し直さなければいけないという面倒くさがりの性格が出てきて悩んでいます。
度々申し訳ありませんが、素人でもカンタン!なのはどちらでしょうか?
こんな事、自分で考えなければいけないのですが、すみません。
教えて下さい!

[3] Posted by tsuduku : November 17, 2008 6:48 PM

>tsudukuさん
こんばんは。
ご質問の件ですが、「ブログのテンプレートを初期化」をクリックした後、

 テンプレートセット「小粋空間テンプレートセット」の初期化

を選択すれば、同名のテンプレートが更新され、後から追加したテンプレートやウィジェットが消えることはありません。テンプレートセットに含まれるテンプレートをカスタマイズして、そのテンプレートを初期化したくない場合や、初期化されたことを確認したい場合はテンプレートを個別に初期化(一覧からチェックして初期化するか、各テンプレートの編集画面で初期化)してみてください。更新されたテンプレートのみ初期化された旨のメッセージが表示されます。
それではよろしくお願い致します。

[4] Posted by yujiro logo : November 18, 2008 1:35 AM

yujiro様、こんばんは。

・ さくらインターネット ・ MySQL Lite
・ Movable Type 4.22-ja
・ 貴サイトで配布されている2カラムのレイアウト

で個人ブログを運営しています。

本エントリーとは関連のない質問かもしれないのですが、「Javascriptの設定をサイドバーに
反映させる」際に、どうしてもうまくいかないことがあるため、ご質問させていただきます。


現在、サイドバーにお気に入りサイトなどへリンクを貼っています。
リンク先サイトを表示する際、<a> に target=_blank を使わずに、<a href="http://xxxxxxxxx" "rel=blank>サイト名<a> という指定で新窓が開く Javascript を使っています。
(外部jsファイルを作り、サーバーに up しています。)

上記の方法でブログを構築した際、メインページ ・ カテゴリ別 ・ 月別アーカイブ別 ・ タグクラウド別のページを開いたときは、サイドバーに貼ってあるリンクをクリック → 新窓で問題なく表示されるのですが、個別エントリーを表示させたときのみ、rel=blank が機能せず、同一窓にリンク先が表示されてしまいます。

個別エントリーのページソースを見ると、ヘッダー内には外部jsファイルの指示がきちんと記載されています。

本エントリーの Javascript エラーが関係しているのかも?と思い、該当箇所を書き換えてみたのですが、やはり個別エントリーのサイドバーからは新窓でリンク先に飛ぶことができません。

ヘッダーのほか、Blog Entry Listing ・ ウェブページ ・ ブログ記事等のテンプレートを確認したのですが、どの部分を修正すれば個別エントリーのサイドバーにも rel=blank の Javascript 機能が反映されるようになるのかがわからずにいます。


ややこしい質問で大変申し訳ございませんが、対処方法がありましたらご教示いただけると幸いです。何卒よろしくお願いします・・・!

[5] Posted by ruru : November 25, 2008 2:03 AM

>ruruさん
こんばんは。
ご返事遅くなってすいません。
ご質問の件ですが、文言だけではJavaScriptの動作が確認できないため、サイトのURLをご連絡頂けないでしょうか。
それではよろしくお願い致します。

[6] Posted by yujiro logo : December 7, 2008 12:05 AM

>ruruさん
ご質問の件ですが、ブログ記事ページではbody要素にonload属性が
設定されているので、ブログ記事ページからインクルードしているJavaScriptファイルに記述されている

window.onload=関数名;

が有効になりません。
関数の起動を有効にするのであれば、body要素の終了タグの後あたりに

</body>
<script type="text/javascript">
<!--
関数名;
//-->
</script>
</html>

と記述すれば正常に動作します。
それではよろしくお願い致します。

[7] Posted by yujiro logo : December 22, 2008 11:58 PM

yujiro様、こんばんは。ruruです。

先ほど、アドバイスしていただいたとおりにスクリプトの記述を加えてみたところ、個別エントリーページでも rel=blank で別窓を開けるようになりました!

今回の質問に際して、メールフォームからブログ URL を連絡させていただきましたが、質問内容の詳細も記入してしまい大変ご迷惑をおかけしました…。
にもかかわらず、とても丁寧な解説とメールによるご返信をいただき、感謝の気持ちでいっぱいです。
お忙しい中ご対応いただきまして本当にありがとうございました。
心からお礼申し上げます!

[8] Posted by ruru : December 23, 2008 1:39 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)