カスタマイズの最近のブログ記事

コメントがエラーになる件~解決編

自作のテンプレートセットを適用したブログへのコメント投稿や確認でエラーが発生する件ですが、どうやらテンプレートセットの作り方に問題があったようです。
参考にしたのはこちらのサイト(投稿日が半年前だ。うーむ(^_^;)

Movable Type 備忘録:テンプレートセットの作り方
WolaWola:テンプレートセット・プラグインの作り方

問題だったのはシステムテンプレートの作り方。
TemplateSetExporterプラグインはエクスポートしたテンプレート名をtemplate_1、2・・・と一律にファイル名をつけてくれるのですが、システムテンプレートはオリジナルのファイル名じゃないとダメなようです。

この点を修正したところ、コメントの投稿や確認ボタンをクリックしても以前のようなエラーは表示されなくなりました。

コメントがエラーになる件

| カテゴリ: カスタマイズ

テンプレートの制作がひと息ついたと思ったら、意外なところにトラブルがorz
コメントを投稿、または確認すると下記のようなエラーが発生します。

Can't call method "text" on unblessed reference at lib/MT/App/Comments.pm line XXXX

投稿自体はメールアドレスやCaptcha認証などの必須項目が入力されていれば、コメントは受付されるようですが、せっかくコメントしてくれた方にとってあまり氣持ちのいいものじゃないと思いますので何とか対策を講じたいんですが・・・

Ajax検索システムをタグ検索にも導入する

| カテゴリ: カスタマイズ

MovableType標準の検索システムは、バージョンが新しくなるにつれてかなり改善されてきているようですが、一度Ajax検索システムを使ってしまうとその快適さは捨てがたく・・・

MovableTypeの検索システムを見直す

サイト内検索はこれで万全になったのですが、課題がひとつ。


それは、「タグ検索」です。

タグとカテゴリの使い分けがイマイチ上手くできてないのはさておき、標準テンプレートではタグクラウドやエントリに表示されているタグをクリックすると、mt-search.cgiが作動します。

せっかく快適な検索システムを導入したんですから、できればタグ検索にもこれを使いたいものです。
そこで、前回のエントリへのトラックバックをたどってみたり、ググってみたりしたんですが、解説がありそうなページはことごとくなくなっていて、カスタマイズの仕方がわかりません。

カスタマイズの解説はありませんでしたが、Ajaxによるタグ検索を導入したというエントリがあるブログを参考にさせていただきました。

eternalheart.com: MTの検索をAjaxで高速化する、さらにタグクラウドもAjaxで表示!

テンプレートセットの登録

テンプレートセットの設定画面

MovableTypeのドキュメントによると、MT4.1からテンプレートセットの登録というものができるようになりました。

Movable Type 4 ドキュメント:テンプレートセットの登録

いままではテンプレートのカスタマイズといえば、自らカスタマイズするか、テンプレート配布サイトからダウンロードしてくるかのどちらかでした。
テンプレート配布サイトからダウンロードした場合は、それぞれのテンプレートにコピー&ペーストする作業が必要で、これが結構面倒。

それがプラグインという形で導入でき、設定も「ブログのテンプレートを初期化」の画面で「新しいテンプレートセットを適用」のプルダウンで導入したテンプレートセットを選ぶだけという簡単さです。

画像アップロード時にrel属性を追加(for MT4.1)

| カテゴリ: カスタマイズ

Lightbox用のカスタマイズの記事を書いたら1週間も経たないうちにMovableType4.1の正式版がリリースされましたので、早々にアップグレードしました。

画像アップロード時にrel属性を追加(for MT4)

mt/lib/MT/Asset/Image.pmに関してもプログラムが変更されています。
変更の内容はよくわかりませんが(爆)、追加・修正する箇所は以下のように変わりました。

MT4.01
246行目をコメントアウト、247行目に追加
MT4.1
314行目をコメントアウト、315行目に追加
MT4.01
256行目以降に追加・コメントアウト
MT4.1
324行目以降に追加・コメントアウト

変更する内容は下記リンクを参照ください。
画像を挿入で出力されるタグを Lightbox 対応にする - Movable Type備忘録

いずれも、上から順番に作業して、ずれた行数で記載しています。
追加・修正の内容はMT4.01と同じで大丈夫のはずです(私の環境では問題なく動いています)。

画像アップロード時にrel属性を追加(for MT4)

カテゴリ: カスタマイズ

このサイトでも導入しているLightbox。
画像をオサレに表示してくれるJavaScriptで、設置してしまえば画像にrel="lightbox"を追加するだけでOKです。

私はそれすらも面倒だったので、MTのプログラムを修正して自動的にrel属性が追加されるようにしていました。

画像アップロード時にrel属性を追加

ところが、MT4にアップグレードしてからはどこをどうやって変更すればいいのかさっぱり┐(´д`)┌


半分あきらめかけていたんですが、哲やんさんにいただいたコメントで解決しました。
完全に他人の力での解決ですが、せっかくですからきちんと記録だけはしておこうと思います。

MovableTypeの検索システムを見直す

カテゴリ: カスタマイズ

Dakiny氏のサイトで紹介されていたMovableTypeにAjaxを利用した検索システムを導入してみました。

ハッキリ言ってこれはスゴイ!

元記事をたどると2005年の12月  Σ(゜д゜lll)ガーン・・・そんなに前から存在していたなんて

参照先:
世界中の1%の人々へ今日のMovable Type:Ajaxを利用したMT用超高速検索システムはスゴすぎる!(2007/3/3)

元記事:
暴想ココログプロとかTypepadとかMTとかブログ人とかその他のブログサービスとかでもAjaxでバックナンバーを検索するJavaScript(2005/12/3)

導入してみると、なかなか快適に動作します。検索用にMTのテンプレートを作らなくて済みます。
Dakiny氏がかなり丁寧に導入用の解説をしていらっしゃるので、それを見ながら作業すれば問題なく導入できます。

以下は自分用のメモです。ちょっと自分用に改良した点もいくつか。

設置の形式としては、サイドバー(またはヘッダ)に検索用のフォームを配置し、検索結果をメインコンテンツエリアに表示することを前提にしています。

画像アップロード時にrel属性を追加

カテゴリ: カスタマイズ

先日導入したLightboxですが、画像をアップロードするたびにrel="lightbox"を追加するのが面倒なので、何かいい方法がないか探してみました。

参照元 CEFA::BlogLightbox JSを組み込んだのだけれど

どうやら、MTのディレクトリ/lib/MT/App/にあるCMS.pmを修正すればよさそうです。
修正するのは3604行目。

<a href="$url"><img alt="$fname" src="$thumb" width="$thumb_width" height="$thumb_height" /></a>

この部分に以下の文字列(青字)を追加します

<a href="$url" rel="lightbox"><img alt="$fname" src="$thumb" width="$thumb_width" height="$thumb_height" /></a>

ファイルのアップロードをもっと便利に

カテゴリ: カスタマイズ

さて、MovableTypeのファイルアップロード機能は、アップロードしたファイルのHTMLを生成してくれるのですが、これもよく使う機能をデフォルトにしておいた方が何かと便利です。

参考にしたサイト
プラスチックに春の雨画像のアップロード先、サムネイルのデフォルトサイズ指定する

HTMLの生成方法を変更する

MTディレクトリ/tmpl/cms/upload_complete.tmplを編集します。
エントリを途中まで書いてファイルのアップロードをするときに、「アップロードしたファイルを使って、新しいエントリーを作る」を選んでしまうと今まで書いていた記事が消えてしまいます(保存していない場合)。さらに一つのエントリに写真をいくつもアップする場合はこの方法は使えません。
デフォルトで「アップロードしたファイルのHTMLを表示」が選択されているようにします。

105行目にある checked="checked" を106行目の同じ場所に移動してやればOKです。

<label><input type="radio" name="new_entry" value="1" /> <MT_TRANS phrase="Create a new entry using this uploaded file"></label> <a href="#" onclick="return openManual ('uploading', 'autocreating a new entry')" class="help">?</a><br />

<label><input type="radio" name="new_entry" value="0" checked="checked"> <MT_TRANS phrase="Show me the HTML"></label>

ファイルのアップロードを少し便利に

カテゴリ: カスタマイズ

MovableTypeのファイルのアップロードは大変便利な機能なのですが、アップロードする度に、アップロード先等の指定をしなければなりません。

そこでよく利用するアップロード先などがデフォルトで表示されるようにプログラムを変更します。

参考にしたサイト
プラスチックに春の雨画像のアップロード先、サムネイルのデフォルトサイズ指定する

デフォルトのアップロード先指定

MTディレクトリ/tmpl/cms/upload.tmplを次のように変更します。アーカイブにアップする場合は22行目に、MTディレクトリにアップする場合は25行目にデフォルトで表示させたいディレクトリ名を加えます。(太字の部分。例はアーカイブの場合)

<input name="extra_path_archive" value="images" /><br />

私の場合"photo"というディレクトリにエントリで使用する画像をアップしていますが、ここに自分の好きなディレクトリ名をしてしてください。"img"とか"images"とかでもいいのではないでしょうか。
ローカルサイトパスで"images"にすると、MovableTypeの画像イメージが格納されたディレクトリにアップされるので、後でわからなくなるかもしれません。

アイテム


カテゴリ

アーカイブ

   
OpenID対応しています OpenIDについて