Movable Type 4.2 公開テンプレートセット再修正
先日公開した「Movable Type 4.2 テンプレートセット」に不具合がまだ残っていましたので、再修正致しました。
コメント周りを中心にかなりバグがありました。申し訳ありません。
現在、template_4_2_utf8_1_3 にバージョンアップして配布しています。
1.問題点
- サイドバーに「Recent Entries」が表示されません。
- コメントを投稿すると「不正な要求です。」というエラーになります。
- コメントの「返信」をクリックして投稿すると、返信元の情報が文字化けします。
- サインイン後にコメントの「返信」をクリックしても「~からのコメントに返信」が表示されません。
- コメントの「返信」をクリックして表示される「~からのコメントに返信」がチェックボックスの右に表示されません。
- コメント投稿をしたときに、フォームボタンが disable になりません。
2.原因および対処
2.1 サイドバーに「Recent Entries」が表示されません
テンプレートセットに同梱している「Recent Entries」ウィジェットのファイル名が recent_entries になっていました。正解は recent_entries.mtml です。
2.2 コメントを投稿すると「不正な要求です。」というエラーになります
form 要素の内容が 4.1 のままでした。
誤
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" id="comments-form" onsubmit="if (this.bakecookie.checked) rememberMe(this)">
正
<form method="post" action="<$mt:CGIPath$><$mt:CommentScript$>" name="comments_form" id="comments-form" onsubmit="return mtCommentOnSubmit(this)">
2.3 コメントの「返信」をクリックして投稿すると、返信元の情報が文字化けします
テンプレートセットに同梱しているコメント表示用ファイルのcomment_detail.mtml の文字コードが Shift_JIS になっていました。正解は UTF-8 です。
2.4 サインイン後にコメントの「返信」をクリックしても「~からのコメントに返信」が表示されません
コメントフォームのマークアップが誤って、id 属性 comments-open-data の中に返信用表示の input 要素を入れてしまっていました。
誤
<div id="comments-open-data">
<div id="comment-form-name">
...中略...
</div>
<div id="comment-form-reply" style="display:none">
<input type="checkbox" id="comment-reply" name="comment_reply" tabindex="5" accesskey="c" value="" onclick="mtSetCommentParentID();" onkeypress="mtSetCommentParentID();" />
<label for="comment-reply" id="comment-reply-label"></label>
</div>
</div>
正
<div id="comments-open-data">
<div id="comment-form-name">
...中略...
</div>
</div>
<div id="comment-form-reply" style="display:none">
<input type="checkbox" id="comment-reply" name="comment_reply" tabindex="5" accesskey="c" value="" onclick="mtSetCommentParentID();" onkeypress="mtSetCommentParentID();" />
<label for="comment-reply" id="comment-reply-label"></label>
</div>
2.5 コメントの「返信」をクリックして表示される「~からのコメントに返信」がチェックボックスの右に表示されません
次のCSS の設定がもれていました(2つめのセレクタはこの問題とは関係ありませんが同じくもれていました)。
#comment-reply-label {
display: inline;
}
#comment-form-reply {
margin-bottom: 8px;
}
2.6 コメント投稿をしたときに、フォームボタンが disable になりません
コメントフォームに次の script 要素がもれていました。
<script type="text/javascript">
<!--
mtAttachEvent("load", mtEntryOnLoad);
mtAttachEvent("unload", mtEntryOnUnload);
//-->
</script>
- Movable Type(MT)5 テーマ修正(コメントのページ分割対応)
- _default モディファイア
- Movable Type 4.2 テンプレートセット(コミュニティブログ対応版)修正
- Movable Type 4.2 テンプレートセット(Movable Type 3 ライク)
- Movable Type 4.2 配布テンプレートセット修正(検索結果ページ)
- Movable Type 4.2 公開テンプレートセット修正
- export-ts で利用中のテンプレートセットをエクスポートする
- Movable Typeのテンプレートセットで独自のカラムレイアウトを適用させる方法(その3:ユーザーのカラムレイアウトを適用する&まとめ)
- Movable Typeのテンプレートセットで独自のカラムレイアウトを適用させる方法(その2:デフォルトテンプレートのレイアウトを適用する仕組み)
- Movable Typeのテンプレートセットで独自のカラムレイアウトを適用させる方法(その1:テーマ切り替えの仕組み)
こんばんは、tsudukuです。
ついにMovable Typeに引っ越しをしてきました。
さっそくテンプレートのカスタマイズをしようとしたのですが、テンプレートの初期化終了後、再構築すると「テンプレート「JavaScript」の再構築中にエラーが発生しました: 不明なタグです: UserSessionCookieName」やその都度、違うエラーメッセージがでます。(例えば記事の再構築中にエラーが発生しました・・・など)
リロードしてもBlogのテンプレートは赤のままでかわりません。
どこが違っているのか全くわからないので教えて頂けますか?
あと、これは追記なのですが、BlogPetも一緒に引っ越したいのですがMovable Typeの「投稿用APIのURL」がわかりません。
もしご存知でしたら教えてください。
贅沢言って申し訳ありませんが、よろしくお願い致します。
>tsudukuさん
こんにちは。
ご質問の件ですが、本テンプレートセットはMovable Type 4.2(ベータ含む)でなければ正常に動作致しません。JavaScript のテンプレートに4.2から追加されたテンプレートタグが使われているので、その関係のエラーではないかと思われます。
BlogPetは「投稿用APIのURL」が管理画面(?)のどこに設定項目があるかご教示頂けますでしょうか。
それではよろしくお願い致します。
BlogPetに関してはBlogPetサイトの「各種設定」→「基本設定」→「ブログ」の中にある「ブログの投稿用設定」で入力するようになっています。
こういう返答で良いのでしょうか?
今まで、IEで検索すればわかったのですが、Movable Typeに関してはなかなか情報がなくって・・・
Movable Typeに関しては、現在、個人ライセンス状態なのですが、「ベータ版の利用規約に抵触する可能性があるため、テンプレート配布は中止させて頂きました。ご迷惑をおかけして申し訳ございません。」と記載されているということは、4.2バージョンを購入しなければ、カスタマイズの方法はないということですか?
すみません・・・無知で・・・教えてください。
>tsudukuさん
こんにちは。
情報ありがとうございました(BlogPetはサイドバーにペットを貼り付ける以外の機能は使ったことがないので、「投稿用APIのURL」という情報だけでは管理画面からその項目がどこにあるか探しだすところから始めないといけないので助かりました)。
で、Movable Typeの「投稿用APIのURL」は、ブログのアプリケーションディレクトリ(mt.cgiがあるところ)のURL+mt-xmlrpc.cgiで良いと思います。
「ベータ版の利用規約に抵触する可能性があるため、テンプレート配布は中止させて頂きました。ご迷惑をおかけして申し訳ございません。」の文言は削除もれでした。申し訳ありません。
ご指摘の記事は昨年の6月、バージョン4.0正式版リリース前に投稿した記事で、別の方からご指摘を頂いて一旦リリースをとめたものです。現在は4.2用も含めて、すべて通常の配布を行っています。
該当の記事も修正致しました。
それではよろしくお願い致します。
yujiro様をまきこんでしまい申し訳ありません。
BlogPetですが、助言のあった「http://tsuduku.lolipop.jp/mt/mt.cgi/mt-xmlrpc.cgi」のURLだと下記のようなエラーメッセージが出てしまいます。
この設定では投稿用APIにアクセスできませんでした。
(MetaWeblogとAtomAPIのみ対応しています)
URLを変えてみると、今度はログインが不正ですというメッセージが出るようになってしまいました。
試しにMovable Typeで権限のあるユーザー(BlogPet)を設定してみたのですが、相変わらずログイン不正のメッセージがでています。
Movable Typeのカスタマイズは少し先になりそうです。
P.S.何か情報がありましたら、引き続き教えて頂けますか?
>tsudukuさん
こんばんは。
http://tsuduku.lolipop.jp/mt/mt.cgi/mt-xmlrpc.cgi
ではなく、
http://tsuduku.lolipop.jp/mt/mt-xmlrpc.cgi
ではいかがでしょうか。
[4]の回答の「mt.cgiがあるところ」というのは、URLの中にmt.cgiを設定する意味ではなく、「(アプリケーションディレクトリというのは)mt.cgiというファイルがあるディレクトリですよ」という意味です。
それではよろしくお願い致します。
yujiro様、こんにちは。
yujiro様のおっしゃる通りにURLをいれたのですが、やはり「この設定では投稿用APIにアクセスできませんでした。(ログインが不正です。)」のエラーメッセージが出てきてしまいます。
基本的な質問で申し訳ないのですが、ブログのURLは「http://tsuduku.lolipop.jp/black_and_white/」と入力しても良いんですよね?
>tsudukuさん
こんにちは。
エラーメッセージが変わりましたね。
おそらく、Movable Type に設定している「Webサービスパスワード」と、BlogPetの管理画面に設定した「ブログのパスワード」が一致していないと思われます。
「Webサービスパスワード」は、MT4であれば、ブログ管理画面の「一覧」→「ユーザー」でブログを作成したときのユーザー名(一人しかいなければそのユーザー名)をクリックします。ユーザーのプロフィール編集画面に移動するので、下の方にある「Webサービスパスワード」を任意の値に設定しなおして「変更を保存」をクリックしてください。
その後、BlogPet側の「ブログのパスワード」を、さきほど設定した「Webサービスパスワード」と同じ内容にして、「設定を保存」をクリックしてください。
それではよろしくお願い致します。
yujiro様、こんにちは。
何を血迷ったか、Blogのタイトル(URL)を変えてしまいました(・∀・)ゲヘラヘラ
それでBlogPetですが、「Webサービスパスワード」を見直したら、yujiro様のおっしゃる通り、MT4へのログインパスワードと違っていました。
そこで設定をし直し、BlogPetの設定を変えたところ、
「この設定で投稿用APIへのアクセスが確認できました
ブログへの投稿を確認するにはブログエディタをお試しください。」
というメッセージに変わり、ブログエディタでtest投稿を行ったところ、成功しました。
長々と(BlogPetは関係ないのに・・・)ありがとうございました。
感謝感謝(TдT) アリガトウです。
ところでMT4に話は変わるのですが、個人ライセンスでMT4をダウンロードしたのですが、解凍したフォルダが「MT-4_13-ja」だったのですが、これはyujiro様のMT4.1のテンプレートも使用できますか?
すみません、初歩的な質問で・・・
MT4.0は試して成功しましたが、出来れば新しいものが良いと思って。
お忙しいのに私なんかに関わってしまい、すみません。
>tsudukuさん
こんにちは。
ご連絡ありがとうございました。
無事に直ったようでよかったです。
配布テンプレートは4.1x に対応しているので、MT4.13でもMT4.1のテンプレートは使用可能です。
それではよろしくお願い致します。