Home

Album

Book

Football

Guitar

Link

Mobile

Music

PC

Tool

mics

moblog

2011年5月 7日

コメントの投稿でエラーが直った(プレビューは直っていない)

いつからかコメントができない状態でした。原因はレンタルサーバを変更したのにPATHを変えていなかったからでした。おそらくトラックバックもできなかったのかもしれません。とりあえずコメントは投稿できるので、以前コメントでエラーになった人は、もしよろしければコメントしてみてください。

あと、コメントのプレビューができない状態です。下記エラーになってしまいます。

テンプレート「Comment Preview Template」の再構築中にエラーが発生しました: テンプレートタグMTIfCommentsAllowedでエラーが発生しました: テンプレートタグMTCommentFieldsでエラーが発生しました: MTCommentFieldsタグは利用できません。代わりにテンプレートモジュール「コメント入力フォーム」をインクルードしてください。

いろいろと調べまくったら原因はテンプレートが古いMTのバージョンから使い回しているからみたいです。Ver2.0の英語版がベースだからなぁ。対応方法は下記でできるようです。

・「コメント入力フォーム」のテンプレートを作る ・mt.js を作る ・エントリーアーカイブとコメントプレビューのテンプレートで  - mt.jsを読み込むように設定  - コメント入力フォームを然るべき場所にインクルードする

しかし、この方法でもうまくいかない。。。暫定でプレビュー画面をなくしました。これから調べます。

投稿者 yoshi | 2011年5月 7日12:27 | 個別リンク

2009年9月26日

FeedBurner

最近はBlogをGoogleリーダで更新した記事をチェックしています。便利なのですが、この手のRSSリーダと呼ばれるサービスは、実際にBlogにアクセスせず、Blogから配信されているRSSを取得して内容を表示しているため、アクセス履歴などが残らないという弱点もあります。

また、RSSと呼ばれるサービスも、RSS1.0、2.0、ATOMなどたくさんあり、Blogを更新するたびにこれら全て生成しているが、本当に必要なの?と思っています。

そこで、FeedBurnerでRSSを配信してもらうようにしました。また、RSSリーダなどで購読している人もわかるので、こちらも解決するのかな、と考えています。具体的には下記をやりました。

1.FeedBurnerでアカウントを登録します。ただ、Googleと統合されているので、GoogleAdsenseのアカウントがあれば、そのアカウントでログインできます。

2.RSSのテンプレート(index.xml)を別名(index.xml以外)で作成して、それをFeedBurnerのFeedに登録します。

3.FeedBurnerが新しいFeedのURLを教えてくれるので、それを購読してもらうようにします。ただ、今まで購読していた人のために、RedirectなどでFeedBurnerのFeedを見るように変更します。

4.メインテンプレートのHTMLヘッダ部分で以前のRSSやATOMを見ていると思うので、これも新しいFeedに変更しておきます。

下記サイトに詳しく書いています。

FeedBurnerについてはGoogle 検索: FeedBurner。おいらの代わりにXML Feedの配信してくれるのに加えて、ブラウザヴィジブルにしてくれたり、統計を取ってくれたり、他のFeedをマージしてくれたりと(簡単にできることは)色々してくれます。多分「アドバンストなテクノロジー」も勝手に導入してくれるでしょう。

おまけとしてGoogleAdsenseでFeedで表示するようにしてあげると、RSSリーダでGoogleAdsenseの広告も配信できる点でしょうか。

投稿者 yoshi | 2009年9月26日23:28 | 個別リンク

2009年3月22日

MT-Keystrokesを導入

コメントスパム対策に有効なMT Keystrokesプラグインを導入しました。このプラグインはコメントの種類や内容からスパムと判断するのではなく、投稿ボタンが押されていないコメントをはじくものになります。コメントスパムはほとんどCGIから直接URLを指定されるので、この対策はかなり有効です。

下記が導入手順です。

MT-Keystrokesのサイトからプラグインをダウンロード。

まずはこのプラグインはMT3までしか対応していないので、MT4に対応するように変更します。keystrokes.plの66行目あたりを下記のように変更します。

return 1 unless $MT::VERSION =~ m(^4\.);

その後、pluginsフォルダにコピーして、プラグインをMTに認識させます。それから、Blogに下記の変更を加えます。

★エントリーアーカイブにある<form>タグの直後に<$MTKeystrokes$>タグを追加。このBlogの場合、二つ<form>タグがあるので、それぞれに追加しました。具体的には下記です。

<form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" onsubmit="if (this.bakecookie[0].checked) rememberMe(this)"> <$MTKeystrokes$> <input type="hidden" name="static" value="1" />

★<textarea>タグにonkeypress="keystrokes(this.form)"イベントを追加。具体的には下記です。

<textarea tabindex="4" id="text" name="text" rows="20" cols="70" onkeypress="keystrokes(this.form)"></textarea>

★投稿ボタンにonclickイベントを追加します。具体的には下記になります。

<input style="font-weight: bold;" type="submit" name="post" tabindex="6" value=" 投稿 " onclick="keystrokes(this.form)" />

プレビュー画面でも同様に編集すれば完成。これはかなり強力なスパムブロックと思います。

投稿者 yoshi | 2009年3月22日19:35 | 個別リンク

2009年1月24日

「最近のコメント」表示がおかしい

MT4.2にバージョンアップした後で、サイドバーの最近のコメントの表示が1件しか出ていない現象が発生していました。色々調べていると↓のBlogで原因と対策が書いていました。

最近のコメントの一覧を表示するには、MTEntries ブロックタグを使用して recently_commented_on モディファイアで表示したいコメント数を指定することで一覧表示されますね。 この recently_commented_on で指定件数を指定しても、管理画面の「設定」>「ブログ記事」内の「ブログ記事の表示数」で指定した件数以上の表示がされませんでした。

管理画面で指定したブログ記事表示数より多くコメントが表示されないようです。対策としてはlimitモディファイアで↓のようにrecently_commented_onより多く指定すれば直ります。

<MTEntries recently_commented_on="5" limit="10">

limitモディファイアって、こういう使い方を想定していないと思うけど、仕方がないですね。

投稿者 yoshi | 2009年1月24日23:28 | 個別リンク

2009年1月18日

MT3.36からMT4.23へバージョンアップ

MT3.36でこのBlogは運営していましたが、そろそろ世間はMT4が主流となりつつあるので、MT4.23へアップデートしました。色々なBlogを見ていたらMT4へのアップグレードは苦労していることが書かれていたので苦労すると思っていましたが、意外とトラブルなくアップデートできました。

まずは、参考にしたBlog(2つ)を紹介します。

MovableType3.34からMT4.1へとシステムをアップグレードしました。
Movable Type 4 がリリースされましたので、Movable Type 3 からのアップグレード方法を紹介致します。

WEB デザインさんのBlogでは、MT4にアップグレードする前にバックアップ取得方法と設定値を覚える方法が紹介しています。バックアップは非常に大事ですので、必ず実施必要です。具体的な手順としては↓になります。

1.サーバに保存されているMTをディレクトリごとバックアップを取る。
2.MTにログインして、「ブログの設定」にあるデータの書き出しを実施。
3.DBのバックアップ
4.アーカイブマッピングの管理画面で変更したURL生成パターンを覚えておく。
5.MT4.1用のインポートデータのバックアップ
具体的な方法は、このサイトの下の方に書いている「Movable Type 4 以前のバージョンからのブログ記事インポート」を実施します。

これで、MT4へのバージョンアップの準備が整いました。その後は、小粋空間のBlogのやり方に従い、バージョンアップを行いました。これであっさり動きました。Plugin関係は下記をインストールしていますが、特に意識することなく動いています。

MTPagenate
Not Japanese Lookup
MTPingdentry
randomentries
collect
MTTagInvoke

ただ、どのBlogでもMTTagInvokeが動作しないようなことが書かれていたので、MTTagInvokeからMTSetVarへ変更しました。↓のBlogを参考にしました。

MT4でMTタグのアトリビュート内で更にタグを使用する

これで動いているので、しばらくは様子を見ることにします。しかし、管理画面変更しすぎでどこに何があるのかさっぱりわかりません。。。

投稿者 yoshi | 2009年1月18日22:21 | 個別リンク